web-dev-qa-db-fra.com

"Java.exe" est sorti avec le projet Xamarin.Android de code 2

j'ai donc mon projet Xamarin.Android qui contient plusieurs bibliothèques. Lorsque j'essaie de générer, je reçois une erreur indiquant que "Java.exe" s'est terminé avec le code 2. 

Après quelques heures de recherche sur Google, j'ai découvert que je pouvais activer Multidex . Selon le blog de Jon Doublas, j'ai suivi les étapes mentionnées. http://www.jon-douglas.com/2016/09/05/xamarin-Android-multidex/

Selon l'entrée de blog Android API Level> 21, elle gère Multidex elle-même. Bien, mon expérience est que ce n'est pas le cas. Je suis en train de construire sur le niveau 25 de l'API et j'obtiens la même erreur encore et encore avec les mêmes informations. Les étapes décrites dans l'article ne vous aident pas. Il semble que Xamarin.Android ne supporte pas Multidex. 

Il semble que vous deviez gérer Multidex par vous-même, mais je n'ai trouvé aucune solution qui fonctionne. Quelqu'un a-t-il trouvé une solution qui fonctionne? 

J'utilise Xamarin 4.6 et Visual Studio 2017.

13
Daniel_97

Vous avez trouvé la réponse après environ 20 heures de recherche dans mon projet ... Voici donc les étapes à suivre pour résoudre le problème "Java.exe" résolu avec le code 2

1) Modifiez le fichier MainDexClasses.bat comme décrit dans le lien:

http://www.jon-douglas.com/2016/09/05/xamarin-Android-multidex/

2) Assurez-vous que vous avez activé l'option Multi-Dex dans votre application Android - !!! Examinez le fichier .csprj si MultiDex est défini sur true (dans mon cas, ce n'était pas le cas même si j'avais activé Multi-Dex)

3) Ajoutez la partie suivante dans votre fichier AndroidManifest

<application Android:name="Android.support.multidex.MultiDexApplication"></application>

Cela indiquera à votre projet Android d'utiliser réellement l'option MultiDex donnée.

Après un nettoyage et une construction, j'ai pu exécuter mon application telle quelle.

23
Daniel_97

Après avoir trouvé cette question et la réponse @ Daniel_97s, je n'ai pu résoudre cette erreur qu'en ajoutant multidex au projet sans modifier MainDexClasses.bat:

  1. Cochez l'option dans Options du projet:

 Check the option in Project Options:

  1. Ajouter MultiDexApplication au manifeste Android:

    <application Android:name="Android.support.multidex.MultiDexApplication"></application>
    

Remarque J'obtenais ce code d'erreur 2 sur Visual Studio pour Mac et sur Windows, la même application était en cours de construction. (Pourquoi?)

14
Micer

Je vais seulement à l'option> Construire> Android Construire et cocher Activer Multi-Dex, il va résoudre 

8
Vermoric Huynh

Dans mon cas, la solution consistait à désactiver le "Signer le fichier .APK à l'aide des détails du magasin de clés suivants". Comme l'emplacement et/ou le mot de passe du magasin de clés étaient incorrects, Java.exe s'est arrêté avec le code 2.

 enter image description here

7

Réaffecter le chemin du magasin de clés qui a fonctionné pour moi 

== EDIT 01 ==

Double-cliquez sur Projet Android> Signature de paquet Android 

Sur le chemin du magasin de clés, je ne sais pas pourquoi, mais apparemment, le chemin était faux. J'ai re-sélectionné le fichier .keystore dans le même chemin.

1
Starlin González

Dans mon cas, l’un des détails du magasin de clés était faux, après avoir enregistré -> nettoyé -> le processus de construction, cela a fonctionné.

0
100RaBH

Veuillez mettre à jour votre Visual Studio à la dernière version, si vous utilisez toujours une ancienne version.

Si vous pensez qu’il n’ya pas de solution, activez la variable Multidex

0
Zumry Mohamed

Essayez de réinitialiser le magasin de clés ou de définir sur false la clé true ..__ uniquement pour vérification. Mais rappelez-vous qu'il doit être réglé sur true.

0