Очевидно, что для решения этой проблемы требуется правильный импорт. Согласно docs for AndroidJUnit4
, это должно бытьНе удается разрешить символ 'AndroidJUnit4'
import android.support.test.runner.AndroidJUnit4;
Когда я делаю это, Android Студия подчеркивает runner
в красный и жалуется на «не удается разрешить символ" бегун».
фон
я попал в этот момент, следуя учебники на сайте Android Developer для setting up tests using UI Automator. Первая проблема, с которой я столкнулся, заключалась в том, что com.android.support:support-v4:22.2.0
и com.android.support.test:runner:0.2
зависят от разных версий com.android.support:support-annotations
. Я следовал предложения от this Android bug report и добавил следующее allprojects
в моем проекте-х build.gradle
:
configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:22.1.0'
}
Это решало сразу же ошибку, но я подозреваю, что это приведет к моим текущим проблемам. Есть ли у кого-нибудь какие-либо предложения о том, как это исправить?
Релевент секции из `./gradlew: приложение: зависимостей
androidTestCompile - Classpath for compiling the androidTest sources.
+--- com.jayway.android.robotium:robotium-solo:5.2.1
+--- com.squareup:fest-android:1.0.8
| \--- org.easytesting:fest-assert-core:2.0M10
| \--- org.easytesting:fest-util:1.2.5
+--- com.android.support.test:runner:0.2
| +--- junit:junit-dep:4.10
| | \--- org.hamcrest:hamcrest-core:1.1
| +--- com.android.support.test:exposed-instrumentation-api-publish:0.2
| \--- com.android.support:support-annotations:22.0.0 -> 22.2.0
+--- com.android.support.test:rules:0.2
| \--- com.android.support.test:runner:0.2 (*)
\--- com.android.support.test.uiautomator:uiautomator-v18:2.1.0
compile - Classpath for compiling the main sources.
+--- com.android.support:appcompat-v7:22.2.0
| \--- com.android.support:support-v4:22.2.0
| \--- com.android.support:support-annotations:22.2.0
+--- com.android.support:support-v4:22.2.0 (*)
+--- com.google.android.gms:play-services:6.1.71
| \--- com.android.support:support-v4:20.0.0 -> 22.2.0 (*)
+--- com.crashlytics.android:crashlytics:1.+ -> 1.1.13
\--- com.jakewharton:butterknife:5.1.2
Это говорит о том, что ваша сборка отсутствует 'com.android.support.test: runner' наповал. Можете ли вы подтвердить с помощью «зависимостей градиента», что вы по-прежнему тянете это после изменения 'resolutionStrategy'? – CommonsWare
@CommonsWare Добавлены зависимости зависимости от моего вопроса. Я не знаю, что означает '(*)' после 'com.android.support.test: runner: 0.2'. –
Согласно [The Gradle folks] (https://discuss.gradle.org/t/what-is-the-asterisk-in-dependencyreport/6067/3), звездочка "означает, что древовидный вид графика зависимости в этой точке сокращается, потому что эта часть графика уже была указана ранее ». Я в тупике, почему это не работает для вас. – CommonsWare