2012-09-21 5 views
2

다른 라이브러리 프로젝트 (예 : B)를 참조하려고하는 Eclipse에서 Android 라이브러리 프로젝트 (예 : A)가 있습니다. 두 프로젝트 모두 res 폴더를 가지고 있는데, A가 B의 res 폴더에서 어떤 것도 참조 할 수 없다는 것입니다. 기본적으로 R.java는 해결할 수 없습니다 (문자열, 레이아웃 없음 등).다른 Android 프로젝트의 Android 라이브러리 프로젝트

나는 중요한 것을 놓치고 있습니까? 이것은 가능한가?

감사합니다.

답변

0

라이브러리 프로젝트 중 하나를 jar 파일로 내보낼 수 있습니다.

그런 다음 새 폴더 이름 "libs"(이름이 중요 함)를 만든 다음 해당 jar 파일을 프로젝트로 가져옵니다. jar 파일을 만들 때 올바른 파일을 포함하는 한 두 번째 프로젝트에서 해당 파일을 참조 할 수 있어야합니다.

이제 res 폴더에서 파일을 조작 할 때 더 까다로워 질 수 있습니다. 리소스가 라이브러리 프로젝트에있는 UI 물건을 만들려고한다면, 이것이 가능한지 확실하지 않습니다.

희망적으로 도움이됩니다.

건배!

----------------------- 업데이트 ---------------------- --------

어디서 잘못 가고 있는지 잘 모르겠습니다. 내가 제안한 것을 수행한다면 jar 파일을 생성 할 때 "gen"폴더를 추가해야합니다. 그런 다음 올바른 가져 오기를 추가했는지 확인하고 해당 파일을 참조 할 수 있습니다. 예를 들어

: 당신이 당신의 R.java 파일로 패키지 com.test.Test1가 있어야 라이브러리 파일이 세대 폴더에 다음 패키지 com.test.Test1

을 가지고 말한다.

해당 프로젝트를 내 보내어 해당 gen 폴더를 포함시켜야합니다.

그런 다음 다른 프로젝트에서 당신은 "수입 com.test.Test1"그냥 R.Whatever를 입력 할 수있는 코드에서 지금

을 포함해야합니다. R.java에 대한 다른 가져 오기를 포함하는 경우 약간의 혼동이있을 수 있습니다.

이제 "res"폴더에 액세스하려면 res 폴더를 원본 폴더 (빌드 경로 -> 원본 폴더로 사용)로 변경 한 다음 해당 폴더를 반드시 추가하여 내보낼 수 있다고 생각합니다. res 폴더.

잘하면이 작품은 당신을 위해. 건배

+0

헤이로 R을 참조하여 프로젝트 A로부터 R를 참조 할 수 있습니다, 그래서 여기에 조금 혼란 스러워요합니다. 이미 Java 코드를 참조 할 수 있으므로 문제가되지 않습니다. 여기서 문제는 구체적으로 .R 클래스입니다. 문제로 A로 표시된 라이브러리 프로젝트는 해당 클래스를 해결할 수 없으며이를 수행 할 수있는 방법이 있는지 확실하지 않았습니다. – Azgez

+0

이봐, 나는 당신이 가고 싶은 곳으로 데려다 줄만한 것을 썼다. 그러나이 코멘트에는 충분한 공간이 없어서 위의 내 대답을 편집했다.이 방법이 효과가 있는지 확인하십시오. – Dave

+0

라이브러리 프로젝트를 JAR 파일로 내보낼 수 없습니다. 라이브러리를 이진 파일 (예 : JAR 파일)로 배포 할 수 없습니다. 이것은 SDK Tools의 차기 버전에서 추가 될 것입니다. –

0

R 클래스보다 먼저 전체 네임 스페이스를 사용해야합니다. 예를 들어 프로젝트 B에 이름 공간은 com.projectB.*은 다음

com.projectB.R.xxxx 
관련 문제