Как проверить, какая последняя версия зависимости используется в gradle

Я всегда добавлял зависимости вроде:

dependencies {
    compile 'com.android.support:mediarouter-v7:19.+'
}

но в последних версиях Android Studio они не рекомендуют использовать +, поскольку это может привести к ошибкам. Как узнать, какая последняя версия? Я могу попробовать каждую комбинацию 19.y.x до тех пор, пока gradle не пожалуется, но что реальный способ проверить?

edit: иногда эта страница помогает мне понять это.

Ответ 1

Могут быть другие способы, но вот что я использую:

Вы можете узнать последнюю версию с помощью Android Studio, заменив номер версии вашей библиотеки в строке build.gradle для компиляции с помощью всего лишь + и нажмите Sync Now в правом верхнем углу окна.

в вашем случае, например

dependencies { compile 'com.android.support:mediarouter-v7:+' }

Android Studio выведет подсказку/колбу, в которой есть опции Replace with specific version, которые вы можете щелкнуть, чтобы заполнить последнюю версию вместо +. См. Ниже screeshot:

android studio hint

Если это не сработает в первый раз, пусть gradle завершит свою синхронизацию и повторит попытку (замените + на + или любую модификацию файла, снова нажмите синхронизацию и отобразится индикатор подсказки).

Например, для вашей библиотеки я просто вставлял эту строку compile 'com.android.support:mediarouter-v7:+' в соответствии с моими зависимостями и следил за описанным выше процессом, Android Studio заполнен ниже версией

.

Ответ 2

Опираясь на последнюю версию, действительно опасно. Ваша сборка может сломаться без изменения чего-либо, только потому, что некоторая библиотека нарушила обратную совместимость.

Самый простой способ узнать, когда выходит новая версия библиотеки, - подписаться на уведомления о новой версии в Bintray.

Просто нажмите кнопку "Смотреть" на странице пакета, и вы получите электронное письмо при каждой новой версии. Затем вы сможете обновить зависимость, проверить ее и только затем перенести сборку script с новой версией.

Watch package in Bintray

Ответ 3

Как уже упоминалось в некоторых других ответах, вы не должны использовать + в зависимостях, потому что это может привести к непредсказуемым сборкам, поэтому всегда лучше, если вы сначала проверите свои сборки, как только появится новое обновление.

В Android-студии 2.2 и выше Структура проекта покажет вам последние доступные зависимости.

  • Активируйте его, перейдя в Android Studio > Настройки > Сборка, Выполнение, Развертывание > Gradle > Экспериментальные и проверьте использование новый диалог структуры проекта
  • Затем откройте его, перейдя в Файл > Структура проектa > Диалоговое окно с отображением обновлений сообщения

Оригинальный ответ

Ответ 4

Избегайте использования + в объявлении версии.

Вы можете попробовать andle, чтобы проверить, устарели ли устаревшие данные, а также версию инструмента сборки и версию sdk.

Простой три шага:

1. установить:

    $ sudo pip install andle

2. set sdk:

    $ andle setsdk -p <sdk_path>

3. update depedency:

    $ andle update -p <project_path> [--dryrun] [--remote]

- dryrun: только результат печати в консоли

- удаленный: проверьте версию в jcenter и mavenCentral

Ответ 5

ответ ashoke правильный, если вы хотите получить последнюю версию.

Но если вы просто хотите заменить "+" на версию, то вы в настоящее время, используя (чтобы защитить себя от ошибок в будущем обновлении)

например:

 compile 'com.android.support:appcompat-v7:21.0.+'

к

 compile 'com.android.support:appcompat-v7:21.0.3'

(но не используя 23.0.1)

это самый простой способ, не требуется программное обеспечение:

run

$ ./gradlew clean tasks --debug > ~/whatever.txt

затем найдите "com.android.support:appcompat-v7:21.0."

несколько строк ниже вы увидите

"Использование com.android.support:appcompat-v7:21.0.3 из репозитория Maven"

Ответ 7

Недавно я нашел это,

Перейдите к File -> Project Structure

Выберите Module, где вы хотите добавить зависимость.

Перейдите на вкладку Dependencies Tab

Нажмите + и выберите Library Dependency

Выберите нужную вам библиотеку из списка.

(Существует также опция для поиска, но никогда не пробовала.)

Вот оно.

Готово.

Спасибо.