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 버전의 데이터가로드됩니다.
과
내가 발견 한 번 더 솔루션을 버전 (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) 평온을 유지하십시오!
'IT story' 카테고리의 다른 글
어셈블리 코드 대 머신 코드 대 객체 코드? (0) | 2020.04.29 |
---|---|
파이썬은 강하게 타이핑됩니까? (0) | 2020.04.29 |
폴더 자체없이 GitHub 리포지토리의 내용 복제 (0) | 2020.04.29 |
ExpandoObject에 동적으로 속성 추가 (0) | 2020.04.29 |
갈퀴 작업에서 일찍 돌아 오려면 어떻게해야합니까? (0) | 2020.04.29 |