4

我有一个包含总共 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

我不明白为什么我会收到这个错误。我检查了/bin所有 6 个 lib 项目的文件夹。每个都包含一个classes.jar文件。为什么会发生这种情况,我该怎么办?

4

1 回答 1

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
于 2012-10-22T22:22:50.610 回答