Q:

Проблемы с gradle

Есть тестовый метод:
@Test
public void scrollToItemBelowFold_checkItsText() {
    // First scroll to the position that needs to be matched and click on it.
    onView(ViewMatchers.withId(R.id.recyclerView))
            .perform(RecyclerViewActions.actionOnItemAtPosition(ITEM_BELOW_THE_FOLD, click()));

    // Match the text in an item below the fold and check that it's displayed.
    String itemElementText = mActivityRule.getActivity().getResources().getString(
            R.string.item_element_text) + String.valueOf(ITEM_BELOW_THE_FOLD);
    onView(withText(itemElementText)).check(matches(isDisplayed()));
}

В котором присутствует
Test class showcasing some {@link RecyclerViewActions} from Espresso

Пробую запилить её в gradle по разному:
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'
androidTestCompile 'com.android.support:support-annotations:25.0.1'

`
но увы не получается, выдаёт ошибки

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
      androidTestCompile 'com.android.support.test:runner:0.5'
      androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'
      androidTestCompile 'com.android.support:support-annotations:25.0.1'
      androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
      androidTestCompile 'com.android.support.test:runner:0.5'
      androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'
      androidTestCompile 'com.android.support:support-annotations:25.0.1'
      androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
      androidTestCompile 'com.android.support.test:runner:0.5'
      androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'
      androidTestCompile 'com.android.support:support-annotations:25.0.1'
      androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
      androidTestCompile 'com.android.support.test:runner:0.5'
      androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'
      androidTestCompile 'com.android.support:support-annotations:25.0.1'
      androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
      androidTestCompile 'com.android.support.test:runner:0.5'
      androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'
      androidTestCompile 'com.android.support:support-annotations:25.0.1'

Подскажите, как можно исправить? А то подобные решения мимо.

A:

Ну с таким подходом можно из программиста превратиться в мангальщика, шашлычника) как Вам уже будет угодно) Если каждый раз бросать всё на пол пути, далеко не продвинетесь, ну а теперь к вопросу:
При создании нового проекта, у Вас сразу же в Вашей build.gradle создаётся Espesso support, который выглядит следующим образом:
 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

Как Вы успели заметить он дополняет в себя следующие groups.
Далее, для работы Вам понадобятся некоторые из компайлов, которые я предлагаю добавить вместе со следующими дополнениями примерно следующим образом:
androidTestCompile ('com.android.support.test:runner:0.5', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
androidTestCompile ('com.android.support.test:rules:0.5', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

Можно конечно прописать и без exclude, но скорей всего в этом и кроется Ваша проблема.
Также если Вы собираетесь тестировать intents/webview то можно добавить:
// add this for intent mocking support
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.2'

// add this for webview testing support
androidTestCompile 'com.android.support.test.espresso:espresso-web:2.2.2'

Ну и последнее замечание, смотрите чтобы Ваши версии везде совпадали. Для наглядности:
compileSdkVersion 24
buildToolsVersion "24.0.2"
...
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:cardview-v7:24.2.1'
androidTestCompile 'com.android.support:support-annotations:24.2.1'

Также если Вы тестируете Recycler то можно добавить следующее:
//RecyclerView
androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.0') {
    exclude group: 'com.android.support', module: 'appcompat'
    exclude group: 'com.android.support', module: 'support-v4'
    exclude module: 'recyclerview-v7'
}

Подводя вывод, можете попробовать другие инструменты, такие как calabash к примеру. Пробуйте, и всё обязательно получится) 

