모두. 안드로이드 라이브러리 프로젝트를 만들었고 프로젝트를 주 프로젝트에서 참조 할 때 완벽하게 작동합니다. 그러나 라이브러리 프로젝트를 분리하면 R.java와 리소스가 포함되지 않습니다. 자원과 R.java가있는 라이브러리 프로젝트를 빌드 할 수있는 방법이 있습니까?라이브러리 프로젝트 빌드
답변
지금은 불가능합니다.
이제 우리는 다음 단계를 통해 바이너리 전용 라이브러리 프로젝트를 만들 수 있습니다
- 는 안드로이드 라이브러리 프로젝트를 만들고, 소스 코드 등으로 - 를이 마스터 프로젝트,있는 당신이 만듭니다 유통
- 에 대한 라이브러리 프로젝트의 버전 자바 소스 (예를 들어, 개미 컴파일)를 컴파일하고 마스터 라이브러리 프로젝트와 같은 자원,
- 가 배포 안드로이드 라이브러리 프로젝트 만들기 JAR 파일로 그것을 돌, 하지만 소스 코드
- 배포판에 JAR 파일을 두십시오. Android 라이브러리 프로젝트의 libs/ 디렉토리 결과로 배포되는 Android 라이브러리 프로젝트에는 소스 코드가 없어도 주 프로젝트가 필요한 모든 것이 있습니다.
- 우리는 여전히 자원을 제공해야한다 :
이 솔루션의 몇 가지 제한이있다.
- 은 잘못 될 수 있으므로 R. 값을 사용하지 않으려면 코드를 다시 작성해야합니다. getResources(). getIdentifier() 및/또는 reflection을 사용하여 모든 리소스 ID를 조회해야합니다.
내가 수동으로 독립적으로 내 안드로이드 도서관 프로젝트를 구축하지 이클립스를 사용하지만 공식 dev에 가이드 here에 명시된 개발 고려 사항은 귀하의 질문에 대답해야한다고 생각은 :
각 라이브러리 프로젝트는 자체 R을 생성 클래스
종속 응용 프로그램 프로젝트를 빌드하면 라이브러리 프로젝트가 컴파일되고 응용 프로그램 프로젝트와 병합됩니다. 각 라이브러리에는 라이브러리의 패키지 이름에 따라 이름이 지정된 고유 한 R 클래스가 있습니다. 메인 프로젝트와 라이브러리 프로젝트에서 생성 된 R 클래스는 메인 프로젝트의 패키지와 라이브러리의 패키지를 포함하여 필요한 모든 패키지에 생성됩니다. 당신이 자신의 .apk에 직접 컴파일 할 수 없습니다
그러나, 라이브러리 프로젝트가의 표준 안드로이드 응용 프로그램 프로젝트 다릅니다 공식 dev에 giude Library Projects에서 인용 또 다른 메모와 함께
업데이트 Android 기기에서 실행하십시오. 마찬가지로, 실제 라이브러리와 마찬가지로 라이브러리 프로젝트를 독립형 JAR 파일로 내보낼 수 없습니다. 대신 종속 응용 프로그램에서 라이브러리를 참조하고 해당 응용 프로그램을 빌드하여 간접적으로 라이브러리를 컴파일해야합니다.
감사합니다. 그러나 R 파일은 라이브러리의 항아리가 아니라 주 프로젝트에서 만듭니다. 자원은이 항아리에 포장되어 있지 않습니다. –
@RomanBlack, 호스트 프로젝트와 별도로 라이브러리 jar 파일은 실제로 아무런 의미가 없습니다. 안드로이드 라이브러리 프로젝트는 런타임에 jar 파일로 참조되지 않고 호스트 프로젝트를 빌드 할 때 소스 (java, res, AndroidManifest.xml 등)가 컴파일되고 호스트 프로젝트로 병합됩니다. apk 파일 크기를 줄이고 메모리 공간을 절약 할 수 있습니다.) Eclipse와 같은 IDE에서 R.java를 컴파일하면 호스트 프로젝트를 빌드 할 때 클래스가 자동으로 생성됩니다. – yorkw
@RomanBlack, Android 개발자 팀은 현재 Android 라이브러리 프로젝트 디자인을 개편하고 있으며 다음 릴리스에서 jar 파일로 라이브러리 프로젝트를 내보내는 지원을 [here] (http://android-developers.blogspot.co.nz/2011/)에서 확인합니다. 10/changes-to-library-projects-in-android.html)을 참조하십시오. – yorkw
- 1. 종속 빌드 lib로 개미 빌드 Android 프로젝트
- 2. 안드로이드 라이브러리 프로젝트 내부의 라이브러리 프로젝트
- 3. 프로젝트 라이브러리
- 4. 개미가있는 안드로이드 프로젝트 빌드
- 5. iPhone 라이브러리 프로젝트 + UIView
- 6. 프로젝트 당 빌드 Eclipse 빌드
- 7. 동적 웹 프로젝트 라이브러리
- 8. Java 웹 프로젝트 빌드 오류
- 9. 프로젝트 안드로이드에 라이브러리 프로젝트 포함하기
- 10. 기본 프로젝트 소스 트리 외부에 ndk 빌드 라이브러리
- 11. Eclipse에서 종속성 빌드 다중 공급자 용 Java 라이브러리 프로젝트
- 12. 새 프로젝트 안의 사전 빌드 된 공유 라이브러리 (.so) 사용하기
- 13. JBoss 7, 이클립스 프로젝트 빌드 경로에 라이브러리 모듈을 추가하는 방법
- 14. 정적 라이브러리 나누기 빌드
- 15. 라이브러리 프로젝트에서 경로 오류 빌드
- 16. IOS - 외부 라이브러리로 프로젝트 빌드
- 17. NetBeans에서 Android 라이브러리 프로젝트 만들기
- 18. ATL 프로젝트 빌드
- 19. C 프로젝트 자동 빌드
- 20. 프로젝트 빌드 문제
- 21. 다중 대상이있는 프로젝트 빌드
- 22. Eclipse에서 프로젝트 빌드 설정
- 23. .NET 프로젝트 빌드 자동화
- 24. Maven 프로젝트 빌드 문제
- 25. ANT로 플래시 프로젝트 빌드
- 26. hudson netbeans 프로젝트 빌드
- 27. Xcode 프로젝트 빌드 : 실패
- 28. Visual Studio의 프로젝트 빌드
- 29. 순수한 프로젝트 빌드 문제
- 30. 엔터티 프로젝트 빌드 시간
라이브러리 프로젝트를 어떻게 구별합니까? – yorkw
개발 용 NetBeans IDE를 사용하고 있습니다. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 빌드를 선택합니다. 빌드 결과는 기본 프로젝트 인 r 파일이없는 라이브러리 프로젝트의 bin 디렉토리에있는 jar 파일로 빌드하는 것과 같습니다. –