2016-06-17 5 views
0

'res'폴더에 많은 맞춤 아이콘이있는 앱을 작성했습니다. 나는 최근에 리소스 아이콘을 사용하는 버튼을 포함하여 안드로이드 라이브러리에 많은 코드를 추상화했다. 그리고 배 모양으로 사라졌습니다.Eclipse ADT - 라이브러리 프로젝트에서 자체 리소스를 사용할 수 없습니까?

특히, 라이브러리 클래스가 리소스를 참조하면 실제 패키지 이름이 아닌 com.example.library.R 클래스를 참조합니다. 이 컴파일을 위해 잘 작동하지만 장치에서 응용 프로그램을 실행할 때 com.example.library.R 클래스는 apk에 없으므로 ClassNotFoundException을 얻습니다. 라이브러리 프로젝트를 모아 R 클래스를 jar 파일에 넣지 마십시오. 그러면 apk의 부재가 설명됩니다.

내 질문은 도서관 프로젝트의 버튼을 코딩하면 리소스의 아이콘을 어떻게 참조 할 수 있습니까? 이것이 가능한가? 그렇다면 어떻게? 그렇지 않은 경우 해결 방법이 있습니까? (나는이 문제를 밟을 첫 번째 사람이 될 수 없다!)

답변

0

나는 모든 것을 자바로 코딩했다. 비슷한 문제에 대한 다른 해결책은 Eclipse/adt의 라이브러리 설정을 흔들거나 IDE의 박편에 의존하는 것입니다. 여기에 내 접근 방식이 있습니다 ...

(1) 라이브러리 및 응용 프로그램의 res 폴더에 아이콘이 있습니다.

(2) R.java 파일을 라이브러리의 gen 폴더에서 src 폴더의 패키지로 복사하고 이름을 RR.java로 바꿉니다.

(3) 앱의 주요 활동에서 앱의 R 클래스에있는 각 값을 라이브러리의 RR 클래스에 복사하는 정적 초기화 코드를 작성합니다.

(4) 라이브러리 전체에서 R 클래스 대신 RR 클래스를 사용하십시오.

그것은보기 흉하지만 작동하는 것 같습니다.