Android Studio projectをTravis-CIでビルドする
embarkmobile/android-maven-example を参考にしつつこんな感じでいけた。
language: java jdk: oraclejdk7 before_install: # Install base Android SDK - sudo apt-get update -qq - sudo apt-get install -qq libstdc++6:i386 lib32z1 - export COMPONENTS=build-tools-19.0.1,android-19,sysimg-19,extra - curl -L https://raw.github.com/embarkmobile/android-sdk-installer/master/android-sdk-installer | bash /dev/stdin --install=$COMPONENTS - source ~/.android-sdk-installer/env - export TERM=dumb # to get clean gradle output
embarkmobile/android-sdk-installer が android(1)
をつかってヘッドレスでAndroid SDKをインストールしてくれるのだけど、Google Play Servicesなどを使いたいときはCOMPONENTSに "extra" を指定する必要がある。 "extra" は extra components をすべてインストールするので本当は必要な物だけ個別にインストールするのがいいのだけど、今回は手を抜いている。個別にインストールしたいときは、 android list sdk --extended --all
で filterに指定する名前を調べることができる。
また、gradle(1)
はデフォルトだとターミナルの制御文字を使うが、Travisはこれに対応していないため、ターミナルへの出力が激しく崩れてしまう。これを避けるために、TERM=dumb
を設定している。
インストールが無事におわると、"install" フェーズで ./gradlew assemble
、"script" フェーズで ./gradlew check
を実行するので、それに合わせてGradleタスクを設定するとよさそうだ*1。