私はプロジェクトに計測テストを追加しようとしていますが、GradleはAndroid JUnitテストランナーをプロジェクトのクラスパスに正しく追加していないようです。私のGradleのビルドファイルのテストdepenenciesは次のようになります。私たちは、サポートライブラリ(24.0.0)の最新バージョンが、テストランナーの現在のバージョン(JUnitのランナー)とエスプレッソの使用を使用しているAndroid JUnitテストランナーを解決できません
testCompile 'junit:junit:4.12'
androidTestCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
バージョン23.1.0。
androidTestCompile 'com.android.support:support-v4:24.0.0'
androidTestCompile 'com.android.support:appcompat-v7:24.0.0'
androidTestCompile 'com.android.support:support-v13:24.0.0'
androidTestCompile 'com.android.support:recyclerview-v7:24.0.0'
androidTestCompile 'com.android.support:design:24.0.0'
androidTestCompile 'com.android.support:support-annotations:24.0.0'
と::
configurations.all {
resolutionStrategy {
force 'com.android.support:support-annotations:24.0.0'
}
}
バージョンの競合を解決するために、私はランナー(とエスプレッソが)(私は意味を理解し、私たちは、古いバージョンを使用することはできません)新しいバージョンを使用するように強制します
しかし何らかの理由でGradleにrunner
パッケージ(android.support.test)が追加されていません。したがって
import android.support.test.runner.AndroidJUnit4;
は、エラー:cannot resolve symbol 'runner'
をスローします。 Android Studioのキャッシュをクリアし、IDEを再起動し、Gradleのキャッシュ(プロジェクトとグローバルの両方)をクリアしました。誰が何が起こっているのか分かっていますか?追加
古いバージョン(おそらく削除されている)を使用しているため、サポート注釈で後方互換性のない変更(APIの削除など)が発生し、テストランナーが壊れている(libの新しいバージョンでは機能しない) API? – Metallica
問題はバージョンとは関係がないようです。古いバージョン(テストランナーが使用しています)を使用しても、私はまだ同じエラーが発生します。どんな考え? – Metallica
Android Studioを2.2.6から2.2.7にアップデートした後に同じ問題が発生しました。 – Ernest