programing

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

goodcopy 2022. 8. 1. 21:50
반응형

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

Git 프로젝트 OsmAnd를 다운로드하여 컴파일 했을 때 이클립스가 다음 오류를 반환했습니다.

[Dex Loader] Unable to execute dex: GC overhead limit exceeded
[OsmAnd]     Conversion to Dalvik format failed: 
             Unable to execute dex: GC overhead limit exceeded

구글과 Stackoverflow는 내가 변경해야 한다고 말했다.-Xms40m -Xmx384meclipse.ini. Dalvik 형식으로 변환하지 못했습니다. dex를 실행할 수 없습니다. Java공간입니다.
프로젝트를 청소하고 이클립스를 다시 시작했지만 도움이 되지 않았습니다.

다음 링크를 찾았습니다.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

여기를 참조해 주세요.

일식 이렇게 생겼어.

-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의 다음 2가지 문제는 서로 관련되어 있습니다.

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

그리고.

dex를 실행할 수 없음: GC 오버헤드 제한을 초과했습니다.

이 문제를 해결하기 위해 VM 값을 늘리거나 이전 ADT 버전(22.6.2 또는 23.2)으로 다운그레이드하는 것 외에 다른 솔루션을 찾았습니다.

주의:

이전 ADT 버전 중 일부는 XML을 매번 로드하지 않기 때문에 첫 번째 스레드에서 설명한 바와 같이 이 GC 오버헤드 제한을 초과하는 메모리 오버플로가 발생하지 않습니다.

솔루션:

일식 하단에는 휴지통 기호가 있으며, 휴지통 기호는 가비지 컬렉터 실행 상태를 나타냅니다.Android의 XML 파일을 닫을 때마다 휴지통이나 가비지 컬렉터 실행을 클릭하여 메모리를 해제하는 것을 잊지 마십시오.이렇게 하면 워크스페이스가 크래시되지 않도록 보호할 수 있습니다.D

특히 저처럼 UI 작업을 많이 하는 경우에는 Android XML을 자주 열면 VM 값을 RAM 제한 이상으로 늘릴 수 없기 때문에 이것이 궁극적인 해결책이 될 수 있습니다.

이 스레드에 오신 모든 분들께 도움이 되었으면 좋겠습니다.

침착하고 코드 온

이 오류로 인해 12시간이 지나도 이클립스.ini 파일 변경에 성공하지 못했습니다.드디어 올바른 솔루션을 찾았습니다.환경변수에는 값 "-Xmx512M"을 포함하는 "_JAVA_OPTIONS"라는 변수가 있었습니다.이 값을 eclipse.ini(-Xmx4096M)와 같은 값으로 변경하면 프로젝트를 다시 APK 파일로 내보낼 수 있었습니다.

이 회피책의 배후에 있는 이유를 알 수 없지만, 위의 모든 방법이 도움이 되지 않을 때는 항상 도움이 됩니다.

지름길이나 링크에서 일식을 시작하지 마십시오. '열어주세요'에서 해요.eclipse.exe폴더 이클립스 는 이클립스 폴더입니다.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

동일한 이클립스.ini 파일은 다음과 같이 이클립스 자체의 루트 경로에 있습니다.

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) 모든 프로젝트를 워크스페이스로 Import

6) 침착하고 코드 온!

언급URL : https://stackoverflow.com/questions/9471194/unable-to-execute-dex-gc-overhead-limit-exceeded-in-eclipse

반응형