我有两个Android项目,一个共享库和应用程序。现在,我想编译与库具有依赖关系的应用程序。在Eclipse中,它运行得非常好。之后,我通过git将其上传到我的存储库,并触发Jenkins构建这两个项目。
我的问题是,错误发生了:"sdk/android-sdk-linux/tools/ant/build.xml:440:../shared-lib解析到一个没有项目属性文件的路径"。这一点很清楚,因为在Jenkins中,作业的存储方式与Eclipse不同。
另一个问题是,Eclipse将shared编译为".jar",Ant将其编译为"classes.jar"(在sdk/android-sdk-linux/tools/Ant/build.xml中命名)。
Ant脚本应该允许您包含所需的任何文件。在您的情况下,我建议您将对shared-lib
到local.properties
文件的引用(该文件也应该由更新项目生成的ant脚本读取。在存储库中保留jenkins的适当路径,并在本地修改本地构建的文件
android.library.reference.1=../classes.jar
EDIT顺便说一句,第二个属性文件的建议只是因为这个文件实际上是用来存储特定于位置的属性的。
我用复制文件修复了它。第一个项目构建了我的shared-lib.jar
。其他项目(手机和平板电脑)将此文件(shared-lib.jar)复制到libs
-文件夹中并正确构建。但现在我在服务器和我的开发客户端上有了不同的projects.properties
。这个没有签入git。