나는이 오류를 발견하고 오류 메시지에 대한 히트를 발견하지 못했기 때문에 내 작업을 반복하는 문제에 직면 한 다른 사람을 구하기 위해 생각해 낸 해결책을 나눌 것이라고 생각했습니다."문제 해결 출력 : 너무 많은 필드 참조 : 70185, 최대 65536입니다. --multi-dex 옵션을 사용해보십시오." 안드로이드 프로젝트를 만들 때
문제가 작성 출력 : A (대형) 응용 프로그램에서 사용할 새 안드로이드 라이브러리 (apklib)를 기록 할 경우 내가 종속성으로 내 새 프로젝트를 추가 할 때
, 나는한다 Dexing하는 동안 다음과 같은 오류를 받고 있어요 : 너무 많은 필드 참조 : 70185; max는 65536입니다.
--multi-dex 옵션을 사용해보십시오. 패키지에 의해
참고 :
< ... 생략 필드 카운트와 패키지의 긴 목록 ... >이
가에 실패 특정 빌드 단계는 다음과 같습니다 --multi-dex
를 사용
java -jar $ANDROID_SDK/build-tools/19.0.3/lib/dx.jar --dex \
--output=$PROJECT_HOME/target/classes.dex \
<... long list of apklib and jar dependencies elided ...>
권장 오류 메시지에 의해 해결 될 수도 있지만 응용 프로그램 프로젝트의 소유자가 아니며 이미 복잡한 변경 프로세스가 있으므로 관계없이 변경하는 것을 주저합니다.
사실상 필드가없는 테스트 라이브러리 프로젝트로이 문제를 재현 할 수 있지만 오류 출력에는 6000 개 이상의 필드가있는 것으로 표시됩니다. 오류 출력에 나열된 패키지 중 6k + 필드 수가 유사한 소수가 있지만 대부분 대다수가 1k 필드 카운트 인 <을 가지고 있습니다.
이 문제는 Facebook famously hacked their way around의 "너무 많은 방법"문제와 유사합니다. FB 솔루션은 미친 것처럼 보였습니다. 발견 한 다른 해결책 (예 : this Android bug ticket, or this one, this SO answer, this other SO answer)은 모두 내가하고 싶은 것의 범위를 훨씬 뛰어 넘는 주 앱 코드를 변경하는 것입니다.
다른 해결책이 있습니까?
어떻게하면됩니까? 패키지 이름을 다른 이름으로 변경하려고 시도했지만 여전히 같은 오류가 있습니다.이 작업을 수행하는 방법에 대한 추가 정보를 실제로 사용할 수 있습니다. – user198923