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

BattleProgrammerShibata

ある日は誰かと戦い、ある日は何かと戦い、そしてある日は自分と戦うのだろう、そういう生き物。

Google の Espresso を使おうとしたら Conflict with dependency エラーが起きたので解決した話

Android Espresso

Google の UI テストツール Espresso を利用する場合に build.gradle に記述するべき内容は以下のように提示されています。(2016年6月25日時点のもの)

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'

developer.android.com

Android Studio 2.1.2 にて作成したプロジェクトの build.gradle にこの記述を追記しましたが、以下のようなエラーが表示されてしまいました。 どうやら、異なるバージョンの com.android.support:support-annotations ライブラリが読み込まれて、衝突してしまったようです。

エラー :Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.4.0) and test app (23.0.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details.

build.gradle には、このライブラリを指定して読み込む記述はしていません。

ということは、今回利用しようとしているライブラリが内部的に com.android.support:support-annotations に依存していて、それらが衝突しているということになります。

この場合、どのバージョンを使うかということを明確化することで解決するので、テストではこのバージョンを使うよ、ということを明示的に記述してみました。

androidTestCompile 'com.android.support:support-annotations:23.4.0'

これでエラーが解消されました。