Интересная ошибка с зависимостями Gradle в Android Studio

Рейтинг: 0Ответов: 1Опубликовано: 22.03.2015

Всем доброго времени суток.

Разрабатываю сейчас небольшое андроид-приложение, использую в нём RecyclerView, по ссылке написано, что актуальная версия - 21.0.0. У меня был такой код:

// в build.gradle
compile 'com.android.support:recyclerview-v7:21.0.0'

// в RecyclerAdapter.java
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {...}

Android Studio сообщила, что метод onAttachedToRecyclerView нигде не используется и не переопределяет метод родительского класса. Несколько часов в попытках разобраться в ошибке или найти ответ в Интернете не дали никакого результата, попробовал написать

compile 'com.android.support:recyclerview-v7:21.0.+'
// вместо
compile 'com.android.support:recyclerview-v7:21.0.0'

и сработало! Но среда подсвечивает эту строчку с сообщением о том, что не рекомендуется использовать '+' в версиях зависимостей.

Собственно, вопрос: почему происходит такая ошибка, когда версия библиотеки задана конкретно (и согласно оф. сайту она является последней), и почему ошибка пропадает при автоматической установке версии? Я только начинаю работать с Android Studio + Gradle, и мне не хочется обходиться костылями.

Заранее спасибо.

Ответы

▲ 5Принят

Сейчас актуальная версия com.android.support:recyclerview-v7:21.0.3, смотрите ссылку. Не рекомендуется использовать "+", потому что когда вы разместите приложение в маркете, а потом выпустите обновление приложения (на тот момент версии библиотек могут измениться и соответственно методы также), то пользователь может получить такую же ошибку версий, как у вас сейчас.