bitriseで起こった問題と解決方法

区分
advent-calender
報告者

この記事はアクトインディ Advent Calendar 2016 1日目になります。 どうぞよろしくお願いします。

アクトインディのAndroid開発ではCIにbitriseを使用しています。 今回はbitriseで起こった問題と解決方法をご紹介します。

発生した問題

2016/11/07頃から突然bitirseでビルドエラーが発生しました。 最初は実装ミスか?と思っていたのですが、ログ調査すると以下のようなログが出力されていました。

File /root/.android/repositories.cfg could not be loaded.
Preparing "Install Solver for ConstraintLayout 1.0.0-alpha8".
"Install Solver for ConstraintLayout 1.0.0-alpha8" ready.
Finishing "Install Solver for ConstraintLayout 1.0.0-alpha8"
Installing Solver for ConstraintLayout 1.0.0-alpha8 in /opt/android-sdk-linux/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha8
"Install Solver for ConstraintLayout 1.0.0-alpha8" failed.
Preparing "Install ConstraintLayout for Android 1.0.0-alpha8".
"Install ConstraintLayout for Android 1.0.0-alpha8" ready.
Finishing "Install ConstraintLayout for Android 1.0.0-alpha8"
Installing ConstraintLayout for Android 1.0.0-alpha8 in /opt/android-sdk-linux/extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha8
"Install ConstraintLayout for Android 1.0.0-alpha8" failed.

ビルドしていたプロジェクトではConstraintLayoutを使用していて、 そのConstraintLayoutのインストールに失敗しているようです。

ConstraintLayoutとは

Android開発で使用する新しく登場したUIレイアウトです。 プロジェクトが依存するライブラリとしてgradleで定義しないといけないものです。 詳しくはこちらを御覧ください。

解決方法

今回の問題を解決した方法が以下になります。

./gradlew dependencies || true ←※このコマンドを追加
./gradlew "--build-file" "build.gradle" "assembleDebug" "--stacktrace"

ビルドコマンドの前に上記の※のコマンドを追加するだけです。

解決方法の解説

ビルドエラーの原因はConstraintLayoutのインストールが失敗したことです。 が、実はConstraintLayoutのインストールは完了していました。 この現象はAndroid StudioからSDK Managerを立ち上げてインストールした場合でも発生します。 以下の画像が発生した時のメッセージです。

91f1b5ac095035d49ff8d19cd2ccc355.png (308.5 kB)

「Finish」を押して再度SDK Managerを立ち上げてインストール状況を確認するとインストールしたことになっています。

cba047f278c1949bd38a989088b4f8a2.png (27.6 kB)

なので

./gradlew dependencies

このコマンドで依存関係にあるライブラリを先にインストールされます。 インストールは完了していますが結果として異常終了となるので

./gradlew dependencies || true

とすることで正常終了となり、CIが止まることなくビルドすることが出来ます。

以上です。

トップページに戻る

技師部隊からの
お知らせ

【求人】エンジニア募集しています。

本頁の来客数
八十七万千百七十六名以上(計測停止中)

メンバー一覧

アクトインディ技師部隊員名簿

アクトインディ技師部元隊員

アクトインディへ

カテゴリー

アクトインディ

aaaa