Unable to execute dex: GC overhead limit exceeded in Eclipse

Kiedy ściągnąłem projekt Git OsmAnd i poszedłem go skompilować, Eclipse zwróciło te błędy:

[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 i Stackoverflow powiedzieli, że muszę zmienić -Xms40m -Xmx384m w eclipse.ini. Konwersja do formatu Dalvik nie powiodła się: nie można uruchomić dex: Java heap space .
Wyczyściłem projekt i uruchomiłem ponownie Eclipse, ale to nie pomogło.

Znalazłem ten link: wskazówki dla programisty Androida: "Konwersja do formatu Dalvik nie powiodła się: nie można wykonać dex: null" Ale Nie wiem, który .jar z mojego projektu zmienić wejście w. Jeśli ktoś może pomóc, mogę wysłać projekt do nich.

Author: Community, 2012-02-27

9 answers

Można to naprawić zmieniając wartości maszyny Wirtualnej w Eclipse.ini. Ustaw wartości na 512 i 1024 jak poniżej:

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

Zmieniony obszar na obrazku Tutaj wpisz opis obrazka

 436
Author: user1457659,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-21 13:24:48

Dla mnie następujące kroki zadziałały

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

3)Restart eclipse

Zobacz tutaj

 24
Author: Sunil Kumar Sahoo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-31 05:11:46

Zaćmienie.ini wygląda tak.

-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
Author: Roadies,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-16 09:54:32

Pozwól mi założyć, że ten problem spowodowany przez XML Androida, ponieważ bardzo często go otwierasz

Następujące dwa problemy na StackOverFlow są ze sobą powiązane:

Za każdym razem, gdy klikam na plik XML Androida w Eclipse, ładuje On dane dla wszystkich wersji API

I

Nie można uruchomić dex: przekroczono limit GC overhead

Znalazłem Jeszcze jedno rozwiązanie aby rozwiązać ten problem, inne niż zwiększenie maszyny wirtualnej wartości lub obniżenie do starszej wersji ADT (22.6.2 lub 23.2)

Uwaga:

niektóre starsze wersje ADT, które nie ładują XML za każdym razem, gdy otwierasz, więc nie ma przepełnienia pamięci, aby spowodować przekroczenie tego GC overhead limit exceeded jak omówiono w pierwszym wątku

Rozwiązanie:

Na dole zaćmienia pojawi się symbol kosza na śmieci, który stwierdza Uruchom Garbage Collector. Za każdym razem, gdy zamykasz plik XML Androida nie zapomnij po prostu kliknąć na kosz na śmieci lub Uruchom Garbage Collector, aby zwolnić pamięć. W ten sposób możesz chronić przestrzeń roboczą przed awarią tego rodzaju błędu: d

To może być ostateczne rozwiązanie, ponieważ nie możesz zwiększyć wartości maszyny wirtualnej poza limit pamięci RAM, jeśli bardzo często otwierasz XML Androida, zwłaszcza jeśli robisz wiele UI działa jak ja: p

Mam nadzieję, że to pomoże wszystkim, którzy wejdą do tego wątku:)

Zachować spokój i Kod Na

 5
Author: Akbar Sha Ebrahim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-10 11:21:02

Po 12 godzinach z tym błędem i bez powodzenia ze zmianą eclipse.plik ini w końcu znalazłem poprawne rozwiązanie. W moich zmiennych środowiskowych była zmienna o nazwie "_JAVA_OPTIONS" zawierająca wartość "- Xmx512M". Zmiana tej wartości na taką samą jak w eclipse.ini (- Xmx4096M) po raz kolejny udało mi się wyeksportować mój projekt do pliku APK.

 1
Author: Viktor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-08 21:44:54

Nie znam powodu tego obejścia, ale działa dla mnie cały czas, gdy wszystkie powyższe nie.

Nie zaczynaj eclipse od skrótu lub linku. Zawsze otwórz go z eclipse.exe w folderze eclipse, który zawiera eclipse.ini

Uwaga-próbowałem tylko dla Linuksa.

 1
Author: Atul O Holic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-30 20:41:02

Aby uniknąć tej irytującej wiadomości, musiałem zmienić konfigurację w następujący sposób:

-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

Na podstawie odpowiedzi oznaczonej jako poprawna, zmieniającej

-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

I:

--launcher.XXMaxPermSize
1024m
 1
Author: Jorgesys,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-24 23:04:39
1) Open eclipse.ini file
2)change
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m
3)Restart eclipse

To samo zaćmienie.plik ini zostanie umieszczony w Eclipse w ścieżce głównej samego eclipse:

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

Ten sam plik będzie zlokalizowany w projekcie android studio:-

C:\Users\username\AppData\Local\Android\sdk\tools\lib\monitor-x86_64\monitor(Type:Configuration settings)
 1
Author: anand krish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-20 19:06:28

Jeśli te odpowiedzi nie działają (nie dla mnie) to spróbuj tego:

1) Zrób kopię swojego .folder metadanych w obszarze roboczym.

2) Usuń wybórkatalog metadanych po zrobieniu kopii

3) Otwórz zaćmienie i zamknij zaćmienie.

4) skopiuj folder wtyczek ze starego .metadane do twojego nowego .metadane

5) Importuj wszystkie projekty z powrotem do obszaru roboczego

6) Zachowaj spokój i koduj!

 0
Author: tricknology,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-08 11:09:26