2012-02-11 7 views
5

두 개의 Android 프로젝트, 하나의 공유 라이브러리 및 앱이 있습니다. 이제 라이브러리 의존성으로 앱을 컴파일하고 싶습니다. Eclipse에서는 매우 잘 작동합니다. 그 후 git을 통해 저장소로 업로드하고 Jenkins를 트리거하여 두 프로젝트를 빌드합니다.종속 빌드 lib로 개미 빌드 Android 프로젝트

내 문제는 "sdk/android-sdk-linux/tools/ant/build.xml : 440 : ../shared-lib 프로젝트의 project.properties 파일이없는 경로로 해석됩니다. ". Jenkins의 작업은 Eclipse와는 다른 방식으로 저장되기 때문에 분명합니다.

또 다른 문제는 공유가 ".jar"로 컴파일되고 Ant가 "classes.jar"(sdk/android-sdk-linux/tools/ant/build.xml에서 이름 지정)로 컴파일된다는 것입니다.

+0

여기에 질문이 없습니다. 개미 스크립트 (또는 그것의 추출물)와 그것이 생성 된 방법이 있다면 그것을 포함시킬 수 있습니까? –

+0

** 안드로이드가 ** update-project **로 만든 build.xml과 my _project.properties_는 ** android.library.reference.1 = ../shared-lib **를 포함하고 있습니다. 다른 파일이 필요합니까? – mars3142

답변

1

복사 파일로 해결했습니다. 첫 번째 프로젝트는 내 shared-lib.jar이며, 다른 pr ojects (전화 및 태블릿)는이 파일 (shared-lib.jar)을 libs -folder에 복사하고 올바르게 빌드합니다. 하지만 지금은 서버와 내 dev-client에 다른 projects.properties이 있습니다. 이 것은 git으로 체크인되지 않습니다.

+0

ant 또는 Jenkins를 사용하여 빌드 서버의 파일을 복사하는 방법을 설명해 주시겠습니까? 나는 완전한 개미의 신품이므로 그것을 멍청하게 두려워하지 마십시오. :) –

+0

참조 http://stackoverflow.com/questions/9239131/ant-build-android-project-with-dependency-lib/9277001#comment11638044_9239303 개미에서 복사 작업을 사용했습니다. – mars3142

4

개미 스크립트를 사용하면 필요한 파일을 포함시킬 수 있습니다. 귀하의 경우에는 shared-lib에 대한 참조를 local.properties 파일로 옮길 것을 제안합니다 (이 파일은 update-project에 의해 생성 된 ant 스크립트에 의해 읽혀 져야합니다.) jenkins에 대한 적절한 경로를 저장소에 유지하고 로컬 . 두 번째 특성 파일의 제안이 파일이 실제로 매장 위치 별 특성에 의미해서입니다 그런데

android.library.reference.1=../classes.jar 

편집 : 내장 저장소의 파일에서 당신은 뭔가가 필요합니다

+0

'build.jar' 파일을'post-build' 환경에서 build.xml 파일의'libs' 폴더에 복사하려면 어떻게해야합니까? 그것은 더 똑똑한 방법 일 것이라고 생각합니다. – mars3142

+1

ant 복사 명령은 http://ant.apache.org/manual/Tasks/copy.html에서 볼 수 있습니다. 그러나 빌드 경로에 항아리를 쉽게 추가 할 수도 있습니다. 개미에 대한 지식 수준을 알 수는 없지만 인터넷에서 찾기가 상대적으로 쉽습니다. 이 방향으로 도움이 필요하면 답장하십시오. –

+0

나는 개미에 완전히 새 것이었다. ( – mars3142

관련 문제