IT story

dex를 실행할 수 없음 : Eclipse에서 GC 오버 헤드 한계를 초과했습니다.

hot-time 2020. 4. 29. 08:12
반응형

dex를 실행할 수 없음 : Eclipse에서 GC 오버 헤드 한계를 초과했습니다.


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 heap space를 실행할 수 없습니다 .
프로젝트를 정리하고 Eclipse를 다시 시작했지만 도움이되지 않았습니다.

이 링크를 찾았 습니다. Android 개발자를위한 팁 :“Dalvik 형식으로 변환하지 못했습니다 : dex를 실행할 수 없습니다 : null” 그러나 .jar프로젝트에서 입력을 변경할 대상을 알 수 없습니다 . 누구든지 도움을 줄 수 있으면 프로젝트를 그들.


Eclipse.ini에서 VM 값을 변경하여 수정할 수 있습니다. 아래와 같이 값을 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에서 다음 두 가지 문제는 서로 실현됩니다.

Eclipse에서 Android XML 파일을 클릭 할 때마다 모든 API 버전의 데이터가로드됩니다.

덱스를 실행할 수 없음 : GC 오버 헤드 한도 초과

내가 발견 한 번 더 솔루션을 버전 (22.6.2 또는 23.2)을 VM 값을 증가 또는 이전 ADT으로 다운 그레이드가 아닌 다른이 문제를 해결하려면

노트 :

열 때마다 XML을로드하지 않는 이전 ADT 버전 중 일부 는 첫 번째 스레드에서 설명한 대로이 GC 오버 헤드 제한을 초과 하는 메모리 오버 플로우가 없습니다.

해결책:

At the bottom of the eclipse there will be Trash can symbol which states Run Garbage Collector. Whenever you close an XML file of android don't forget to just click on the Trash Can or Run Garbage Collector to release memory. This way you can protect the workspace from crashing this kind of error :D

This could be an ultimate solution because you can't increase the VM value beyond your RAM limit if you very frequently open your android XML especially if you do lot of UI works like me :P

I hope this would help everyone who will come to this thread :)

Keep Calm and Code On


After 12 hours with this error and no success with changing the eclipse.ini file I finally found the correct solution. In my environment variables there was a variable named "_JAVA_OPTIONS" containing the value "-Xmx512M". Changing this value to the same value as in eclipse.ini (-Xmx4096M) I was once again able to export my project to an APK file.


I DO NOT know the reason behind this work-around, but it works for me all the time when all of the above don't.

Do not start eclipse from a short-cut or a link. Always open it from the eclipse.exe in your eclipse folder, the very folder which holds the eclipse.ini

Note - I tried only for linux.


To avoid this annoyable message, i had to change my configuration as follows:

-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

based on the answer marked as correct, changing

-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

and:

--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 studio 프로젝트에 있습니다.

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에서 새 .metadata로 복사하십시오.

5) 모든 프로젝트를 작업 공간으로 다시 가져 오기

6) 평온을 유지하십시오!

참고 : https://stackoverflow.com/questions/9471194/unable-to-execute-dex-gc-overhead-limit-exceeded-in-eclipse

반응형