kakueki61's dev history

備忘録的に記録を残しています

AndroidプロジェクトをJenkinsで自動ビルドするには

コマンドラインAndroidプロジェクトをビルドする

androidコマンドを使えるように

まずはコマンドライン上でAndroidプロジェクトをビルドできるようにする必要があります。
Androidプロジェクトをコマンドラインでビルドするにはandroidコマンドを使います。
これまで私はadbコマンドしか使っていなかったので、まずはandroidコマンドを使えるようにパスを通しました。

androidコマンドはandroid-sdk/toolsにあるので、私の場合は

の1行を.bash_profileに追加しました。

これで、

と打ち込むと「Android SDK and ADV Manager」というGUIが立ち上がるようになりました。

antでビルド

Antを使ってビルドするためには"build.xml"ファイルが必要です。
コマンドラインでプロジェクトを作成した場合には"build.xml"が自動生成されるようですが、Eclipseでプロジェクトを作成した場合には自動生成されません。
よって以下のコマンドでAnt用の"build.xml"を生成します。

これで準備が整いました。
ビルドにはデバッグ用とリリース用が用意されていて、

$ant debug

$ant release

のように実行します。
今回はデバッグ用として実行した結果、"bin"以下に

  • *-debug-unaligned.apk
  • *-debug-unaligned.apk.d
  • *-debug.apk
  • *.ap_
  • *.ap_.d
  • build.prop
  • classes.dex
  • classes.dex.d

のようにいくつかファイルが生成されました。

Jenkinsで自動化

  • Jenkinsをローカル環境にインストール
  • ローカル環境で動かしてみる
  • Jenkisサーバーを立てて、開発メンバーがアクセスできるように
$lsa /Applications
drwxrwx---  14 TakuyaKodama  staff    476  4  9 16:52 android-sdk-mac_x86
$lsa /Applications/android-sdk-mac_x86/tools/ant/
-rw-r--r--   1 TakuyaKodama  staff  60099  3 20 16:26 build.xml
TakuyaKodama:/Library/LaunchDaemons
$lsa
-rw-r--r--   1 root  wheel   681  3  6 10:54 org.jenkins-ci.plist

TakuyaKodama:/Users/Shared
$lsg
total 0
drwxr-xr-x  3 daemon  102  6 27 04:10 Jenkins
drwxrwxrwx@ 4 wheel   136 11 18  2011 SC Info

TakuyaKodama:/Users/Shared/Jenkins
$lsa
total 0
drwxr-xr-x   3 daemon  daemon  102  6 27 04:10 .
drwxrwxrwt   5 root    wheel   170  6 27 04:10 ..
drwxr-xr-x  27 daemon  daemon  918  7  1 18:13 Home