hudsonでアンドロイドのコンパイルとテストを自動化する

アンドロイド温泉でやってきました。
大きく分けてやることは3つ

0.まず前提条件
1.レポジトリの準備
2.Hudsonの設定


0.まず前提条件
http://d.hatena.ne.jp/hidecheck/20100918/1284793956
http://d.hatena.ne.jp/hidecheck/20100924/1285329738
の辺りを参考にしてandroidのアプリケーションとテストのプロジェクトを作ってgitもしくは
svnで管理しておく。



1.レポジトリの準備
gitのひとはgit submoduleを使って

レポジトリルート
|
|---アプリケーションプロジェクト
|
L---テストプロジェクト

になるようにします。

具体的には次のようなコマンドでルートを作成します。

cd HudsonAndroidRoot
git init;
git submodule add git://localhost/HudsonAndroid.git ;
git submodule add git://localhost/HudsonAndroidTest.git;
git submodule init;
git commit;

gitのレポジトリを適当に作成してください。

svnの方はこういう構成になるようにワークスペースごと放り込むとかしてますが
その辺はよく分からないのでもっと楽な方法知ってる方教えてください。

2.Hudsonの設定
HudsonAndroidのビルド設定をします
ターゲットに

install

高度な設定のビルドファイルに

HudsonAndroid/build.xml

HudsonAndroidTestのビルド設定をします
ターゲットに

install

高度な設定のビルドファイルに

HudsonAndroidTest/build.xml

高度な設定のプロパティに

tested.project.dir=$WORKSPACE/HudsonAndroid

と記述してください。

あとはテストの実行のために
shellで実行

logcat -c
adb shell am instrument -w com.example.hudson_android.tests/android.test.InstrumentationTestRunner

com.example.hudson_android.testsはパッケージ名になっているので適時読み替えてください

注意事項:
ローカルホストでhudsonを別ユーザープロセスとして立ち上げているとエミュレーターが他のユーザーから立ち上げられなくなるのでtempフォルダーほじくるか再起動する必要があります。