Android 용 SDK를 만들 계획이었습니다. 즉, 클래스 파일과 리소스 (레이아웃)를 필요로하는 다른 응용 프로그램과 공유한다는 의미입니다. 내 애플리케이션을 JAR로 내보내는 경우 리소스 파일과 R.class가 포함되지 않습니다. 현재 안드로이드는 JAR을 통해 리소스 파일을 패키징하는 것을 지원하지 않지만 그물을 검색하여 소스 파일을 사용하여 리소스 파일을 컴파일하면 다른 애플리케이션의 리소스에 액세스 할 수 있음을 알 수 있습니다.Android : JAR에 리소스 파일을 추가하십시오.
그래서 나는 다음과 같은 방법으로 그것을 행한 이유 :
복사 모두가 내 소스 폴더에 폴더의 컨텐츠를 입술
- SRC -> com.mypackege -> RES- -> 여기에 내 res 폴더 넣기
마침내 내 src 폴더 모양
SRC
com.mypackage
>myfile.java drawable-hdpi drawable-ldpi drawable-mdpi drawable-xhdpi com.mypackage.drawable com.mypackage.layout com.mypackage.menu com.mypackage.values
와 나는 내 빈에서 자원 및 r.class을 포함한 모든 클래스 파일을 가지고 내 프로젝트를 빌드
jar -cvf mysample.jar com/mypackage/*
에 의해 jar 파일을 수동으로 생성합니다.
최종 항아리에는 측면에있는 내 프로젝트의 모든 클래스와 리소스가 포함되어 있습니다. mypackage.
는 여기 내가 자산 폴더에 JAR를 넣어 testapp
말을 다른 응용 프로그램으로 mysample.jar
를 추가 (때문에 레이아웃)과 경로를 구축하기 위해 추가 할 수 있습니다. 또한 빌드 경로를 구성합니다.
이 응용 프로그램에서는 해당 JAR에서 레이아웃을로드하는 데 필요한 mysample.jar
에서 myfile.class
을 호출합니다.
문제는이 JAR에서 자원 그것은 단지 현재 프로젝트 고해상도 폴더에있는 리소스를 참조 파일 및 NULL pointer Exception
하지만하지만 JAR 파일에서 R.java를 호출 볼 수 없습니다 여기에있다. 광고 또한 xmlns : custom = "http://schemas.android.com/apk/res-auto"를 내 매니 페스트 파일에 넣으려고했으나 작동하지 않습니다. 정확히이 문제를 해결하기 위해 노력하겠습니다. 자원 매핑 문제 일 수 있습니다. 이 문제를 해결할 생각이 있습니까?
안드로이드 라이브러리 기능을 통해 내 다른 리소스와 리소스를 공유 할 수있는 방법 –
@ Mr.Cool http://stackoverflow.com/questions/7973822/how-to-convert-an-android-library-project-to-an-external-jar 여기를보세요 – Taras