Не удалось выполнить dex: превышение верхнего предела GC в Eclipse

Когда я загрузил проект Git OsmAnd и пошел, чтобы скомпилировать его, Eclipse вернул эти ошибки:

[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 и Stackoverflow сказали, что я должен изменить -Xms40m -Xmx384m в eclipse.ini. Не удалось преобразовать формат Dalvik: невозможно выполнить dex: пространство кучи Java.
Я очистил проект и перезапустил Eclipse, но это не помогло.

Я нашел эту ссылку: Советы для разработчика Android: "Не удалось преобразовать формат Dalvik: не удалось выполнить dex: null" Но я не знаю, какой .jar из моего проекта изменить вход. Если кто-то может помочь, я могу отправить проект им.

Ответ 1

Он может быть исправлен путем изменения значений VM в Eclipse.ini. Установите значения на 512 и 1024, как показано ниже:

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

Измененная область изображения enter image description here

Ответ 2

Для меня выполнены следующие шаги

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

3)Restart eclipse

Смотрите здесь

Ответ 3

eclipse.ini выглядят следующим образом.

-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

Ответ 4

Позвольте мне предположить, что эта проблема возникла из-за Android XML, потому что очень часто вы открываете ее

Эти следующие две проблемы в StackOverFlow реализуются друг с другом:

Каждый раз, когда я нажимаю на XML файл Android в Eclipse, он загружает данные для всех версий API

и

Не удалось выполнить dex: превышение верхнего предела GC

Я нашел еще одно решение для решения этой проблемы, кроме увеличения значений виртуальной машины или перехода на более раннюю версию ADT (22.6.2 или 23.2)

Примечание:

Некоторые из старых версий ADT, которые не будут загружать XML каждый раз при каждом открытии, чтобы переполнение памяти не превышало этот превышение верхнего предела GC, как обсуждалось в первом потоке p >

Решение:

В нижней части затмения появится символ корзины, в котором указано Запустить сборщик мусора. Всякий раз, когда вы закрываете XML файл андроида, не забудьте просто нажать Корзинa > или Запустить сборщик мусора, чтобы освободить память. Таким образом вы можете защитить рабочее пространство от сбоя такой ошибки: D

Это может быть окончательное решение, потому что вы не можете увеличить значение виртуальной машины за пределы пределов вашей RAM, если вы очень часто открываете свой Android файл, особенно если вы много работаете с UI, как я: P

Надеюсь, это поможет всем, кто придет в эту тему:)

Сохранять спокойствие и код

Ответ 5

Через 12 часов с этой ошибкой и без успеха с изменением файла eclipse.ini я наконец нашел правильное решение. В моей переменной среды была переменная с именем "_JAVA_OPTIONS", содержащая значение "-Xmx512M". Меняя это значение на то же значение, что и в eclipse.ini(-Xmx4096M), я снова смог экспортировать проект в файл APK.

Ответ 6

Я НЕ знаю причину этой работы, но она работает для меня все время, когда все вышеизложенное не делает.

Не запускайте затмение из короткого выреза или ссылки. Всегда открывайте его из eclipse.exe в вашей папке eclipse, самой папке, в которой содержится eclipse.ini

Примечание. Я пробовал только для Linux.

Ответ 7

Чтобы избежать этого раздражающего сообщения, мне пришлось изменить конфигурацию следующим образом:

-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

на основе ответа, отмеченного как правильное, изменение

-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

и

--launcher.XXMaxPermSize
1024m

Ответ 8

1) Open eclipse.ini file
2)change
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m
3)Restart eclipse

Тот же самый файл eclipse.ini будет расположен в Eclipse в этом корневом пути самого eclipse, например:

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

Тот же файл будет расположен в проекте студии Android: -

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

Ответ 9

Если эти ответы не работают (они не для меня), попробуйте следующее:

1) Создайте копию своей папки .metadata в рабочей области.

2) Удалите каталог. metadata ПОСЛЕ ДЕЛЕНИЯ КОПИРОВАНИЯ

3) Откройте Eclipse и закройте Eclipse.

4) Скопируйте папку плагинов из старой.метадата в новую .metadata​​p >

5) Импортируйте все проекты обратно в рабочую область

6) Удерживайте спокойствие и код!