CircleCIを使ってAndroidのテストを実行する

📅 2015/11/18

Android gradle CircleCI

プライベートなリポジトリはdroneioでコンテナ作ってビルドから通知までやっていました。 GitHubのリポジトリは折角なのでCircleCIで回すことにしました。 その時に罠があったので紹介します。

cache_directoriesの罠

以下のように記載してました。
dependencies:
  cache_directories:
    - $ANDROID_HOME/platforms/android-23
    - $ANDROID_HOME/build-tools/23.0.1
    - $ANDROID_HOME/extras/android
    - $ANDROID_HOME/extras/google

$ANDROID_HOME/usr/local/android-sdk-linuxと展開されると期待したら、以下のようなwaringが出ていました。

Warning: circle.yml specified cache directories: /home/ubuntu/android-ci/$ANDROID_HOME/build-tools/23.0.1, /home/ubuntu/android-ci/$ANDROID_HOME/extras/google, /home/ubuntu/android-ci/$ANDROID_HOME/platforms/android-23, /home/ubuntu/android-ci/$ANDROID_HOME/extras/android but they don't exist

/から始まるものでないと絶対パスとして扱われない…?罠過ぎる。 変数展開を期待してダブルクォーテーションで囲ってみたが相対パス扱いのままだったのでベタ書きすることにしました。 またandroid list sdk -u -a -eでupdate sdkに使うパッケージ名を出すことができます。 GitHub android-ci

参考