Как проверить, какая последняя версия зависимости используется в 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"
Ответ 6
Я использую эти две ссылки.
Эта ссылка дает мне последнюю версию buildTools
https://developer.android.com/studio/releases/build-tools.html
Эта ссылка дает мне последнюю поддержкуLibraryVersion
https://developer.android.com/topic/libraries/support-library/revisions.html
Ответ 7
Недавно я нашел это,
Перейдите к File -> Project Structure
Выберите Module
, где вы хотите добавить зависимость.
Перейдите на вкладку Dependencies
Tab
Нажмите +
и выберите Library Dependency
Выберите нужную вам библиотеку из списка.
(Существует также опция для поиска, но никогда не пробовала.)
Вот оно.
Готово.
Спасибо.