Android 라이브러리 프로젝트의 리소스에 문제가 있습니다. 라이브러리 프로젝트는 JAR 파일의 .class 파일과 res
폴더의 리소스로 이미 컴파일 된 소스로 구성됩니다. 수업은 --non-constant-id
AAPT 옵션으로 컴파일되었습니다. 내 라이브러리 프로젝트에서Android 라이브러리 프로젝트가 잘못된 리소스를 반환합니다.
는 내가 가진 :
이res/drawable/image2.png
이클립스는 각 프로젝트에 대한 R.txt 및 R.java를 생성 : 내가 가지고있는 라이브러리 프로젝트에 대한 프로젝트에서
res/drawable/image1.png
res/drawable/image3.png
의존. 그래서 전체적으로 두 개의 R.txt와 두 개의 R.java가 있습니다. 라이브러리 프로젝트의 R.java에서
는 자원 ID는 같은 수 있습니다 :image1=0x7f02007c;
image3=0x7f02007d;
라이브러리 프로젝트는이 R.java 파일이 종속 프로젝트의 R.java가 최종 R를 산출과 통합되는 것을 의미합니다
예상대로image1=0x7f02007c;
image2=0x7f02007d;
image3=0x7f02007e;
가 image2
를 포함 최종 R.java에서 1 메모리 위치를 시프트 : 된 .java 같다.
문제 : 나는 내 라이브러리 프로젝트에서 JAR 파일에서 R.drawable.image3
같은 자원을, 참조 할 때, 비 합병 R.java의 ID로 해결합니다. 예 : R.drawable.image3 = 0x7f02007d
. 그러나 0x7f02007d
실제로 image2
가리 킵니다 및 잘못된 리소스가 반환됩니다. 내가 뭔가 잘못하고 있다고 가정합니다. 누군가는 그것이 무엇 일지에 관해서 어떤 생각을 가지고 있습니까?
생성 된 코드를 삭제하여 재생성을 시도 했습니까? – ChiefTwoPencils
@BobbyDigital 네, 두 프로젝트를 모두 지우고'R.txt'와'R.java' 파일이 사실 삭제되었다는 것을 확인했습니다. – shanet