4

合計 10 個のプロジェクトを含むアプリがあります。3 つの Java プロジェクト、6 つの Android プロジェクト、および 1 つの Android アプリ プロジェクトです。Eclipse ではエラーなくビルドできますが、Jenkins でビルドすると、最後のプロジェクトのコンパイル中にビルドが失敗します。

ビルドに使用するシェル コマンドは次のとおりです。

明確にするために、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

このエラーが発生する理由がわかりません。/bin6つのlibプロジェクトすべてのフォルダーを確認しました。それぞれにclasses.jarファイルが含まれています。なぜこれが起こっているのですか?どうすればよいですか?

4

1 に答える 1

1

あなたがしたように、同じ呼び出しで複数のライブラリを送信できるとは思いませんandroid update project-lの各エントリは、以前のものを静かに上書きすると思います。代わりに、ライブラリごとにコマンドを 1 回実行してみてください。

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 に答える