Lorsque j'ai téléchargé le projet Git OsmAnd et suis allé le compiler, Eclipse a renvoyé ces erreurs:
[Dex Loader] Unable to execute dex: GC overhead limit exceeded
[OsmAnd] Conversion to Dalvik format failed:
Unable to execute dex: GC overhead limit exceeded
Google et Stackoverflow dit que je dois changer -Xms40m
-Xmx384m
dans eclipse.ini
.
Échec de la conversion au format Dalvik: impossible d'exécuter dex: espace de tas Java .
J'ai nettoyé le projet et redémarré Eclipse, mais cela n'a pas aidé.
J'ai trouvé ce lien: Astuces pour le développeur Android: "La conversion au format Dalvik a échoué: impossible d'exécuter dex: null"
Mais je ne sais pas à .jar
partir de quel projet modifier l'entrée. Si quelqu'un peut m'aider, je peux envoyer le projet à leur.
la source
--launcher.XXMaxPermSize 512m
deux fois?Pour moi, les étapes suivantes ont fonctionné
Vois ici
la source
eclipse.ini ressemble à ceci.
la source
Permettez-moi de supposer que ce problème est dû au XML Android, car très souvent vous l'ouvrez
Ces deux problèmes suivants sur StackOverFlow sont liés l'un à l'autre:
Chaque fois que je clique sur un fichier XML Android dans Eclipse, il charge des données pour toutes les versions d'API
et
Impossible d'exécuter dex: dépassement de la limite de surcharge du GC
J'ai trouvé une autre solution pour résoudre ce problème autre que l'augmentation des valeurs de la machine virtuelle ou la rétrogradation vers une ancienne version ADT (22.6.2 ou 23.2)
Remarque:
Certaines des anciennes versions d'ADT qui ne chargeront pas le XML à chaque ouverture, il n'y a donc pas de dépassement de mémoire pour provoquer le dépassement de cette limite de surcharge du GC, comme indiqué dans le premier thread
Solution:
Au bas de l'éclipse, il y aura un symbole de poubelle qui indique Run Garbage Collector . Chaque fois que vous fermez un fichier XML d'Android, n'oubliez pas de cliquer simplement sur la corbeille ou d' exécuter Garbage Collector pour libérer de la mémoire. De cette façon, vous pouvez protéger l'espace de travail contre le plantage de ce type d'erreur: D
Cela pourrait être une solution ultime car vous ne pouvez pas augmenter la valeur de la machine virtuelle au-delà de votre limite de RAM si vous ouvrez très fréquemment votre XML Android, surtout si vous faites beaucoup d'interfaces utilisateur comme moi: P
J'espère que cela aiderait tous ceux qui viendront sur ce sujet :)
Restez calme et codez
la source
Après 12 heures avec cette erreur et sans succès avec la modification du fichier eclipse.ini, j'ai finalement trouvé la bonne solution. Dans mes variables d'environnement, il y avait une variable nommée "_JAVA_OPTIONS" contenant la valeur "-Xmx512M". Modification de cette valeur à la même valeur que dans eclipse.ini (-Xmx4096M) J'ai de nouveau pu exporter mon projet vers un fichier APK.
la source
Je ne connais pas la raison de cette solution de contournement, mais cela fonctionne pour moi tout le temps quand tout ce qui précède ne le fait pas.
Ne démarrez pas Eclipse à partir d'un raccourci ou d'un lien. Ouvrez-le toujours à partir
eclipse.exe
de votre dossier eclipse, le dossier même qui contient leeclipse.ini
Remarque - J'ai essayé uniquement pour Linux.
la source
Pour éviter ce message ennuyeux, j'ai dû changer ma configuration comme suit:
basé sur la réponse marquée comme correcte, changeant
et:
la source
Le même fichier eclipse.ini sera situé dans Eclipse dans ce chemin racine d'éclipse lui-même comme:
Le même fichier sera situé dans le projet de studio Android: -
la source
Si ces réponses ne fonctionnent pas (elles ne l'ont pas fait pour moi), essayez ceci:
1) Faites une copie de votre dossier .metadata dans votre espace de travail.
2) Supprimez votre répertoire .metadata APRÈS AVOIR FAIT UNE COPIE
3) Ouvrez Eclipse et fermez Eclipse.
4) Copiez votre dossier de plugins de votre ancien .metadata vers votre nouveau .metadata
5) Réimportez tous les projets dans votre espace de travail
6) Gardez votre calme et codez!
la source