web-dev-qa-db-fra.com

Impossible d'exécuter dex: limite de temps système GC dépassée dans Eclipse

Lorsque j'ai téléchargé le projet Git OsmAnd et que je l'ai compilé, Eclipse a renvoyé les erreurs suivantes:

[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 ont dit que je devais changer -Xms40m-Xmx384m en Eclipse.ini. La conversion au format Dalvik a échoué: impossible d'exécuter dex: Java espace de segment de mémoire .
J'ai nettoyé le projet et redémarré Eclipse, mais cela n’a pas aidé.

J'ai trouvé ce lien: Astuces pour Android développeur: “La conversion au format Dalvik a échoué: impossible d'exécuter dex: null” Mais je ne sais pas quel .jar de mon projet de modifier l'entrée. Si quelqu'un peut aider, je peux lui envoyer le projet.

210
DavyJonesUA

Il peut être corrigé en modifiant les valeurs VM dans Eclipse.ini. Définissez les valeurs sur 512 et 1024 comme ci-dessous:

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.Eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m

La zone modifiée en image enter image description here

437
user1457659

Pour moi, les étapes suivantes ont fonctionné

1) Open Eclipse.ini file
2)changed
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m

3)Restart Eclipse

voir ici

24
Sunil Kumar Sahoo

Eclipse.ini ressemble à ceci.

-startup
plugins/org.Eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.Eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xmx1024m
7
Roadies

Permettez-moi de supposer que ce problème est dû au Android XML, car vous l'ouvrez très souvent

Les deux problèmes suivants sur StackOverFlow sont liés entre eux:

Chaque fois que je clique sur un fichier Android XML dans Eclipse, des données sont chargées pour toutes les versions de l'API

et

Impossible d'exécuter dex: limite de dépassement de CPG dépassée

J'ai trouvé une solution supplémentaire permettant de résoudre ce problème autrement qu'en augmentant les valeurs VM ou en rétrogradant vers une version plus ancienne d'ADT (22.6.2 ou 23.2)

Remarque:

Certaines des anciennes versions d'ADT qui ne chargeront pas le fichier XML à chaque fois que vous l'ouvrez afin d'éviter tout débordement de mémoire pouvant entraîner le dépassement de cette limite de temps système comme discuté sur le premier fil

Solution:

Au bas de l'Eclipse, vous verrez le symbole de la corbeille indiquant Lancer le ramasse-miettes . Lorsque vous fermez un fichier XML de Android, n'oubliez pas de cliquer sur la corbeille ou Exécutez Garbage Collector pour libérer de la mémoire. De cette façon, vous pouvez protéger l’espace de travail contre le crash de ce type d’erreur: D

Cela pourrait être une solution ultime, car vous ne pouvez pas augmenter la valeur VM au-delà de votre limite RAM si vous ouvrez très fréquemment votre XML Android surtout si vous faites beaucoup de l'interface fonctionne comme moi: P

J'espère que cela aiderait tous ceux qui viendront à ce fil :)

Keep Calm and Code On

5
Akbar Sha Ebrahim
1) Open Eclipse.ini file
2)change
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m
3)Restart Eclipse

Le même fichier Eclipse.ini sera situé dans Eclipse dans le chemin racine d’Eclipse même:

C:\Users\username\Downloads\adt-bundle-windows-x86_64-20140702\Eclipse\eclipse.ini

Le même fichier sera situé dans Android projet de studio: -

C:\Users\username\AppData\Local\Android\sdk\tools\lib\monitor-x86_64\monitor(Type:Configuration settings)
1
anand krish

Je ne connais pas la raison de cette solution de contournement, mais cela fonctionne tout le temps pour moi lorsque tout ce qui précède ne le permet pas.

Ne démarrez pas Eclipse à partir d'un raccourci ou d'un lien. Ouvrez-le toujours à partir du Eclipse.exe de votre dossier Eclipse, le dossier même qui contient le Eclipse.ini

Note - J'ai essayé seulement pour Linux.

1
Atul O Holic

Après 12 heures avec cette erreur et sans succès avec la modification du fichier Eclipse.ini, j'ai finalement trouvé la solution correcte. Dans mes variables d'environnement, il y avait une variable nommée "_Java_OPTIONS" contenant la valeur "-Xmx512M". En modifiant cette valeur sur la même valeur que dans Eclipse.ini (-Xmx4096M), j'ai encore une fois pu exporter mon projet dans un fichier APK.

1
Viktor

Pour éviter ce message gênant, je devais modifier ma configuration comme suit:

-startup
plugins/org.Eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-

144807
-product
com.Android.ide.Eclipse.adt.package.adtproduct
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

basé sur la réponse marquée comme correcte, changeant

-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

et:

--launcher.XXMaxPermSize
1024m
1
Jorgesys

Si ces réponses ne fonctionnent pas (ils 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) Importez tous les projets dans votre espace de travail

6) Gardez le calme et le code sur!

0
tricknology