2012-07-08 2 views
2

많은 라이브러리 프로젝트가있는 큰 프로젝트와 많은 패키지와 클래스가 소스 코드에 있습니다. 이클립스 (버전 4.2) 구축에 ADT (R20)를 사용하여ADT : 패키지 및 클래스가 너무 많을 때 빌드하지 마십시오

, 나는이 오류 얻을 : 전체 오류 로그에 대한

[2012-07-08 09:05:33 - AndroidUIPatterns] Dx trouble writing output: Too many fields: 69379; max is 65536. By package:

19 android.app 
14 android.content.pm 
5 android.content.res 
2 android.gesture 
39 android.graphics 
8 android.graphics.drawable 
13 android.os 
3 android.provider 

...
...
[2012-07-08 09:05:33 - AndroidUIPatterns] Conversion to Dalvik format failed with error 2

을, 당신은 여기를 볼 수 있습니다 http://pastie.org/4218297

이 보인다 Android 프로젝트의 패키지/클래스 수에 대한 최대 한도입니까?

누구든지이 오류를 해결하는 방법을 알려 주시면 감사하겠습니다.

+0

로그에 따르면 안드로이드 소스를 만들려고했는데 왜 이것을 필요로합니까? – Jin35

+0

이봐, 프로 그 라우드를 사용하여 사용하지 않는 파일을 제거하려고 했습니까? 그리고 코드를 최적화할까요? – Karan

답변

5

현재 dex 당 65536 (2^16) 필드/메소드 참조로 제한되는 dx 컴파일러의 한계입니다.

유일한 해결책은 여러 개의 dex 파일로 애플리케이션을 분할하는 것이므로 하나의 dex 파일이 64k 제한을 초과하지 않습니다.

+0

멀티 덱스 파일로 앱을 분할하는 방법을 알려 주시면 매우 기쁩니다. – anticafe

+0

Android 개발자 블로그의 정보 (예제 포함) : http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html – c2h5oh

+0

SDK r21에서이 버그가 "정말 고쳐졌습니다" . –

관련 문제