Не удалось выполнить 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 из моего проекта изменить вход. Если кто-то может помочь, я могу отправить Проект им.

Solutions Collecting From Web of "Не удалось выполнить dex: превышение верхнего предела GC в Eclipse"

Его можно исправить, изменив значения VM в Eclipse.ini. Установите значения на 512 и 1024, как показано ниже:

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

Измененная область изображения Введите описание изображения здесь

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

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

Глянь сюда

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 

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

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

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

а также

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

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

Заметка:

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

Решение:

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

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

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

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

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

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

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

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

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

 -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 
 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) 

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

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

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

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

4) Скопируйте свою папку плагинов из старой. Metadata в новую метаданные

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

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