我有一个应用程序,其中包含总共10个项目:3个Java项目,6个Android项目和一个Android应用程序项目。我可以在Eclipse中构建它们而不会出错,但是当我在Jenkins中构建它们时,在编译最后一个项目时构建失败了。
以下是我用来进行构建的shell命令。
为了清楚起见,DrawCard和CameraModule是由CC_library3.0.3调用的库,而CC_library3.0.3是由MainApp调用的库项目。
android update lib-project -p ./DrawCard -t "android-15"
android update lib-project -p ./AppStar -t "android-15"
android update lib-project -p ./CameraModule -t "android-15"
android update lib-project -p ./CC_library3.0.3 -t "android-15"
android update lib-project -p ./ISAd -t "android-15"
android update lib-project -p ./Payment -t "android-15"
android update project -p ./MainApp -t "android-15" -l ../CC_library3.0.3 -l ../ISAd -l ../Payment
echo 'source.dir=../android-vcard/src' > ./DrawCard/ant.properties
echo 'source.dir=../TianShu/src' > ./MainApp/ant.properties
echo 'source.dir=../Log4A/src' >> ./MainApp/ant.properties
cd ./MainApp
ant all clean debug
在这些命令之后,在构建MainApp时,该过程失败并显示以下消息:
[javac]Compiling 22 source files to /var/lib/jenkins/foobar/bin/classes
[javac]A.java : package a.b.c does not exist
....
[javac]B.java : can not find symble
.....
BUILD FAILED
我不明白为什么我收到这个错误。我检查了所有6个lib项目的/bin
文件夹。每个包含一个classes.jar
文件。为什么会发生这种情况,我该怎么办呢?
答案 0 :(得分:1)
我认为你不能像你一样在android update project
的同一个电话中提交多个库。我认为-l
的每个条目都会默默地覆盖以前的条目。
尝试为每个库运行一次命令:
android update project -p ./MainApp -t "android-15" -l ../CC_library3.0.3
android update project -p ./MainApp -t "android-15" -l ../ISAd
android update project -p ./MainApp -t "android-15" -l ../Payment
之后打开./MainApp/project.properties
并确保您有以下条目:
android.library.reference.1=../CC_library3.0.3
android.library.reference.2=../ISAd
android.library.reference.3=../Payment