“java.exe” a quitté avec le code 2, Xamarin.Projet Android
donc, j'ai mon Xamarin.Projet Android qui contient plusieurs bibliothèques. Quand j'essaie de compiler j'ai un message d'erreur qui dit "java.exe" a quitté avec le code 2.
Après quelques heures de google de recherche, j'ai découvert que je pouvais activer Multidex.
Selon le billet de blog de Jon Doublas j'ai fait les étapes mentionnées.
http://www.jon-douglas.com/2016/09/05/xamarin-android-multidex/
Selon le blog d'entrée de l'API Android Niveau > 21 poignées Multidex lui-même.
Eh bien, mon expérience est qu'il ne l'est pas. Je suis appuyant sur l'API de Niveau 25 et obtenir la même erreur encore et encore avec la même information.
Les étapes décrites dans l'article n'aide pas. Il semble que Xamarin.Android ne prend pas en charge Multidex.
Il semble que vous ayez à gérer Multidex par vous même, mais je n'ai pas trouvé de solution qui fonctionne. Dos quelqu'un a trouvé une solution qui fonctionne?
Je suis à l'aide de Xamarin 4.6 et Visual studio 2017.
- Veuillez nous indiquer les libs avez-vous installé dans votre projet?
- J'ai installé assez bien par exemple firebase, pubnub, playservices(emballé) et certains scanner libs pour les appareils spéciaux.
- J'ai affronté le même message d'erreur après l'installation d'un paquet de pépites de
- oui je crois qu'il peut arriver à tout moment, si vous frappez la mehtod limite de ~65 k 🙂 Essayez la réponse, il peut vous aider aussi
Vous devez vous connecter pour publier un commentaire.
Trouvé la réponse après environ 20 heures de recherche dans mon projet..
Donc, voici les étapes pour résoudre le problème "java.exe" a quitté avec le code 2
1) Changement de la MainDexClasses.chauve-souris comme décrit dans le lien:
http://www.jon-douglas.com/2016/09/05/xamarin-android-multidex/
2) assurez-vous que vous avez activé
Multidex
Option dans votre Application Android! Jetez un oeil à la.csprj
fichier siMultidex
est fixé àtrue
(dans mon cas, il n'était même pas si j'ai activéMultidex
)3) Ajouter la partie suivante dans votre
AndroidManifest
fichierCela indiquera à votre projet Android pour utiliser effectivement le Multidex-Option donnée.
Après un nettoyage et construire j'ai réussi à lancer mon application.
<AndroidEnableMultipleDex>true</AndroidEnableMultipleDex>
et j'ai dû ajouter manuellement<AndroidEnableMultiDex>true</AndroidEnableMultiDex>
pour le faire fonctionner! Note le MultiDex au lieu de MultipleDex. Merci à cette discussion.<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
Après avoir découvert cette question et @Daniel_97s réponse, j'ai été en mesure de résoudre cette erreur que par l'ajout d'multidex pour le projet sans changer MainDexClasses.chauve-souris:
Ajouter
MultiDexApplication
pour Android Manifest:Remarque, j'ai été d'obtenir ce code d'erreur 2 sur Visual Studio pour Mac et sur des Fenêtres de la même application était en train de construire avec succès. (pourquoi?)
La solution dans mon cas était de désactiver le "Signe de la .Fichier APK en utilisant le fichier de stockage des clés suivants détails". Parce que le fichier de clés de l'emplacement et/ou le mot de passe est incorrect java.exe terminé avec le code 2.
Je ne vais à option > Build > Android Construire et cochez la case Activer le Multi-Dex, il permettra de résoudre
Mon
.csproj
fichier a une entrée pour le KeyStore qui n'est plus valide, même pensé clic droit sur le projet et d'inspecter les propriétés indiqué que j'avais pointé vers le nouvel emplacement.À l'intérieur .csproj look pour toutes les instances de
<AndroidSigningKeyStore>
et mise à jour en conséquence.Réaffecter le chemin d'accès du fichier de stockage des clés a fonctionné pour moi
==EDIT 01==
Double-cliquez sur le Projet Android > Android Signature de Paquet
Sur le fichier de clés chemin, je ne sais pas pourquoi mais apparemment, le chemin était mauvais, j'ai re-sélectionnez l' .fichier de magasin de clés à nouveau à partir de la même voie, et l'erreur "terminé avec le code 2" s'en alla, et j'ai été en mesure de les Archiver pour la libération
J'ai eu du mal avec ce problème pendant un temps assez long. J'ai trouvé la source de l'erreur dans la signature - comme je l'ai cloné projet de pensions de la société TFS, Android fichier csproj ont des entrées pour le magasin de clés, les paramètres et l'emplacement. Je n'ai pas le fichier de clés et l'emplacement sur mon disque n'était pas valide. Visual Studio est alors dans l'impossibilité de signer l'application pendant le déploiement et au lieu d'une sorte de FileNotFoundException il m'a donné juste java terminé avec le code 2. Alors...
tl;dr: Aller à android propriétés du projet, sélectionnez le package de la signature d'un décochez la case "Signer le fichier apk..." (qui change csproj
<AndroidKeyStore>true</AndroidKeyStore>
false) et voila, vous pouvez maintenant exécuter votre solution.Veuillez mettre à Jour votre Visual Studio pour la Dernière version, si vous êtes encore en utilisant une ancienne version.
Si vous pensez qu'il n'y a pas de solution alors, allez activer le
Multidex
Dans mon cas, l'un des keystore détails est incorrect, après l'enregistrement-> nettoyage -> processus de construction, il a travaillé.
Essayez de réinitialiser le fichier de clés ou de modifier à false la clé de vrai.
Seulement à vérifier. Mais en se rappelant qu'il doit être définie sur true.
J'ai eu cette erreur lors de la commutation de VS Mac VS Windows.
Ici le sujet de Commutation De VS Mac VS Windows got “java.exe” a quitté avec le code 2
La question a été à venir à partir de l'Android.csproj et le Chemin d'accès du fichier de clés.
Il a été mis en à mon Mac Chemin, même si je l'ai changé sur
VSWindows AndroidProject => Propriétés => Signin
J'ai donc enlevé ces lignes sur Android.csproj (édité avec le troisième éditeur de texte):
Sur debug & libération de la Partie.
Ensuite, vous pouvez les modifier sur VS Windows.
Espère que j'ai aidé quelqu'un.
Voir ya