読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

CircleCIでAndroidのビルドとテスト

Android

CircleCIでAndroidのビルドとテストをするためのcircle.ymlのメモです。

circle.yml

machine:
  java:
    version: oraclejdk8

dependencies:
  pre:
    - echo y | android update sdk --no-ui --all --filter "android-23,build-tools-23.0.3"

test:
  override:
    - ./gradlew app:assembleDebug
    - ./gradlew app:test
  post:
    - cp -r app/build/test-results/* $CIRCLE_TEST_REPORTS

解説

JDK8

retrolambdaを使ってる場合はJDK8が必要なので下記の記述が必要です

machine:
  java:
    version: oraclejdk8

SDKインストール/アップデート

必要なSDKのインストールをします。

dependencies:
  pre:
    - echo y | android update sdk --no-ui --all --filter "android-23,build-tools-23.0.3"

この例だとandroid-23,build-tools-23.0.3を指定していますが、他に何があるかは下記のコマンドでわかります。

$ android list sdk --all --extended

ビルド/テスト

ビルドとテストの実行です。単純にgradleのタスクを実行してるだけです。

test:
  override:
    - ./gradlew app:assembleDebug
    - ./gradlew app:test

テスト結果

テスト結果をCircleCIで表示するための設定です。

Androidでテストを実行した時はapp/build/test-resultsJUnitのテスト結果xmlファイルが出力されます。それを$CIRCLE_TEST_REPORTS以下にコピーするとCircleCI上でテスト結果が見れます。

  post:
    - cp -r app/build/test-results/* $CIRCLE_TEST_REPORTS

参考