Dalvik 형식으로 변환 실패 : dex를 실행할 수 없음 : Java 힙 공간


79

내 Android 이클립스 프로젝트에 2.45mb jar 파일을 추가 했으며 이제 "Dalvik 형식으로 변환 실패 : dex를 실행할 수 없음 : Java 힙 공간"이 계속 표시됩니다.

온라인으로 조사한 결과 Java VM 힙 크기를 늘리기 위해 eclipse.ini를 업데이트하라는 정보를 받았습니다. eclipse.ini의 모든 값에 대해이 작업을 수행했으며 빌드 오류가 계속 발생합니다.

어떤 아이디어?


eclipse에 추가 한 라인을 게시 해 주시겠습니까?
CRM

-startup plugins / org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins / org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 -product org.eclipse.epp.package .java.product --launcher.defaultAction openFile --launcher.XXMaxPermSize 512M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 512m --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion = 1.5 -Xms512m -Xmx512m
AndroidPlaya

나도 내 init에 -data @noDefault 항목이 있습니다.이 두 줄을 사용하여 -Xms512m -Xmx512m 및 -vmargs -Xms512m -Xmx512m을 포함한 다양한 코드를 다양한 순열로 추가하려고 시도했습니다. 또한 내가 시도한 약 20 줄의 코드를 추가하는 제안도 있습니다. 누군가가 exclipse.ini에 필요한 전체 코드 줄을 위에서 아래로 게시해야하며 추가 된 코드의 파일 경로를 사용자 정의해야하는지 여부를 게시해야합니다. 이는 다양한 구성에 따라 달라집니다
Androidcoder

또한 작동되지 않은 일식 -vmargs -Xms512m -Xmx512m으로 명령 줄에서 발사를 시도했습니다
Androidcoder

답변:


209

-XmsAm-XmxBm매개 변수가 eclipse.ini충분히 커지도록 수정하십시오 . 기본값은 -Xms40m -Xmx384m입니다. 둘 다 변경하고 -Xms512m -Xmx512meclipse를 다시 시작하여 도움이되는지 확인하십시오. 그렇지 않은 경우 두 가지 중 하나가 발생할 때까지 계속 값을 늘리고 Eclipse를 다시 시작하십시오.

  1. 빌드가 완료됩니다.
  2. 메모리가 충분하지 않기 때문에 Eclipse가 다시 시작되지 않습니다.

eclipse.ini에 위치 /etc/eclipse.ini우분투 (우분투 저장소에서 이클립스를 설치 한 가정).

MAC의 경우 다음을 참조하십시오.

eclipse.ini를 찾는 것은 약간 까다 롭습니다. 이를 찾으려면 Eclipse 애플리케이션 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "패키지 내용 표시"를 선택한 다음 "내용"폴더를 두 번 클릭 한 다음 eclipse.ini의 홈인 "MacOS"폴더를 두 번 클릭합니다.

https://confluence.sakaiproject.org/pages/viewpage.action?pageId=61341742


8
이 페이지 는 Mac에서 eclipse.ini를 찾는 방법을 설명합니다.
JohnnyLambada

7
Windows에서는 eclipse.exe어디에 두든.
Cheezmeister 2010 년

1
내가 가진 유일한 항목은 데이터를 기억 @noDefault 뒤에 제발 조언
로이 힝 클리

@JohnnyLambada 안녕하세요 Johny 7mb jar 파일을 추가하고 xms 변수를 1024m로 수정했습니다. 하지만 이제이 오류가 발생합니다. Dalvik 형식으로의 변환이 오류 1로 실패했습니다
Gaurav Arora

1
Xmx 플래그는 JVM (Java Virtual Machine)에 대한 최대 메모리 할당 풀을 지정하고 Xms는 이 SO 응답
JohnnyLambada

20

프로젝트 속성에서 .jar 라이브러리를 확인하는 경우에도이 문제가 발생합니다. 이 경우 다음을 시도하십시오.

Right click your project. 
Go to Properties -> Java Build Path -> Order and Export.
Uncheck the check box against your included library. 
Press OK and run the project.

이 작업을 수행하면 Eclipse는 jar의 모든 클래스를 저장하는 대신 jar에서 코드에 필요한 클래스 만 가져옵니다.


5
'Order and Export'에서 라이브러리를 선택 취소하면 해당 라이브러리의 클래스가 코드에서 액세스 될 때 'ClassNotFoundException'이 발생합니다. 라이브러리를 내 보내야합니다.
Vaishak Nair 2014

예 그게 바로 내가 자바 힙 오류를 얻고있다, 나는 체크되지 않은 모든 라이브러리, 그것은 실행하지만 응용 프로그램을하시기 바랍니다 도움이 날 .. 장치에 충돌 할 때
AK 조시

0

위의 모든 답변은 완벽하지만 한 가지 더 시도 할 수 있으며 빠르고 쉽습니다. Eclipse 작업 공간에서 불필요한 열려있는 모든 프로젝트를 닫은 다음 Eclipse를 다시 시작하십시오.

eclipse.ini에서 -XmsAm 및 -XmxBm 매개 변수를 늘릴 수도 있습니다.


나는 같은 문제에 직면했고, 또한 메모리 크기가 변경되었습니다. 그러나 문제가 해결되지 않았습니다. 마지막으로 프로젝트 탐색기-> 마우스 오른쪽 버튼 클릭-> Maven-> 프로젝트 업데이트를 수행했습니다. 내 문제가 해결되었습니다. 최신 체크 아웃을했다면 Maven 업데이트를해야합니다. 하지만 실수했습니다.
Sun a

@Ravi 어떻게 오류를 해결합니까, 저에게도 알려주십시오.
Sandeep Londhe 2015-08-26

0

프로젝트 속성으로 이동하여 Java 빌드 경로에서 추가 된 라이브러리를 제거하고 확인을 누른 다음 다시 추가하십시오. 나는 또한이 문제에 직면했고,이를 통해이 문제를 해결했다.


이건 정말 이클립스 ADT @AndroidHacker과 나를 위해 일한
noman404

-1

중요한 추가 :

이 솔루션은 내 Windows (아마도 메모리 할당 문제)에서는 작동하지 않았지만 동일한 컴퓨터의 Linux에서는 잘 작동했습니다. 따라서 다른 OS를 설치하면 Windows 재설치에 도움이됩니다.


방금 내 OS를 재설치했습니다 .. 작동하지 않았습니다. 또한 경우를 대비하여 마더 보드를 교체하고 새 하드 디스크를 구입했지만 작동하지 않았습니다.
Kapitein Witbaard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.