2012-04-25 51 views
4

我有一個包含總共10個項目的應用程序:3個Java項目,6個Android項目和一個Android應用程序項目。我可以在沒有錯誤的情況下在Eclipse中構建它們,但是當我在Jenkins中構建它們時,構建在編譯最後一個項目期間失敗。當我使用Ant構建和多個庫的Android項目時,我的構建失敗

這裏是我用來構建的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文件。爲什麼會發生這種情況,我該怎麼辦?

回答

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 
+0

不知道爲什麼這沒有被接受,它的工作非常適合我。謝謝! – JonnyBoy 2013-07-18 20:52:36