Как проверить, имеет ли зависимость gradle новая версия
В Android Studio, когда я использую +
в номере версии (например, com.android.support:recyclerview-v7:21.+
), я получаю предупреждение "Избегайте использования + в номерах версий". Когда я использую конкретный номер версии, я не всегда могу использовать последнюю версию. У меня много зависимостей в моем проекте. Как проверить, имеет ли зависимость более новую версию? Есть ли плагин Android Studio или что-то в этом роде, чтобы уведомить меня, когда есть более новая версия зависимости?
Edit:
Студия Android выделяет устаревшие библиотеки поддержки Android и сервисы Google Play. Но это не доступно для других пользовательских библиотек.
![enter image description here]()
Ответы
Ответ 1
Теперь это встроено в Android Studio в качестве проверки Lint. Вы можете включить его здесь:
Настройки > Редактоp > Инспекции > Доступны новые версии библиотек
Описание для этой проверки:
Доступны новые версии библиотеки
Этот детектор проверяет с помощью центрального репозитория, чтобы узнать, имеются ли новые версии для зависимостей, используемых этим проектом. Это похоже на проверку GradleDependency, которая проверяет наличие новых версий в инструментах и библиотеках Android SDK, но это работает с любой зависимостью MavenCentral и каждый раз подключается к библиотеке, что делает ее более гибкой, а также /strong > медленнее.
Из-за замедления это может привести к тому, что я рекомендую запускать его вручную периодически, а не всегда. Вы можете сделать это:
Анализ > "Запуск проверки по имени"
Затем найдите "Доступные новые версии библиотек" и запустите его на своем модуле.
Изменить. Вышеупомянутое должно работать только с Android Studio 2.3. Если вы используете старую версию (вы должны ее обновить), это может помочь:
Обратите внимание, что, похоже, вы должны включить проверку для ее запуска вручную - поэтому (с Android 2.0 Beta 2) вам нужно найти инспекцию в настройках, включить ее, затем запустить ее по имени, а затем отключить он снова (для восстановления предыдущей производительности).
Ответ 2
ОБНОВЛЕНИЕ (23.05.18):
Более новая версия Android Studio не отображает обновления версий в диалоговом окне "Структура проекта". Вместо этого ответ Адама является правильным для Android Studio 3+
Анализ> "Выполнить проверку по имени"
Затем найдите " Newer Library Versions Available
"
ПРЕДЫДУЩИЙ ПУТЬ:
Начиная с Android Studio 2.2
, в новом диалоговом окне " Project Structure
" отображается список зависимостей, используемых вашим приложением, с доступными обновлениями из локальных И удаленных репозиториев.
- Активируйте его, перейдя в
Android Studio > Settings > Build, Execution, Deployment > Gradle > Experimental
и проверьте Use new Project Structure dialog
" Use new Project Structure dialog
(спасибо, @jessehensold). - Затем откройте его, выбрав
File > Project Structure > Messages
![enter image description here]()
Для более старой версии Android Studio см. Другие ответы ниже.
Ответ 3
Помимо встроенной функции Android Studio, есть отличный плагин Gradle, который называется Gradle Versions Plugin, который делает именно то, что вы хотите, с преимуществом простого расширения Gradle, поэтому НЕ связывается с какой-либо конкретной IDE, поэтому полезно для любого проекта, использующего Gradle.
Плагин Gradle Versions может создавать отчеты в удобном для чтения виде в текстовом виде, а также выводить их в виде JSON или XML для автоматической обработки.
После добавления в файл Gradle стандартное использование будет выглядеть примерно так:
> ./gradlew dependencyUpdates
Это создаст отчет о зависимости проекта, который выглядит следующим образом:
------------------------------------------------------------
: Project Dependency Updates (report to plain text file)
------------------------------------------------------------
The following dependencies are using the latest milestone version:
- com.github.maksim88:PasswordEditText:v0.9
- com.android.databinding:adapters:1.3.1
- com.joanzapata.iconify:android-iconify-entypo:2.2.2
- com.joanzapata.iconify:android-iconify-fontawesome:2.2.2
- com.webnetmobile.tools:webnet-log:1.0.3
- com.nulab-inc:zxcvbn:1.2.2
The following dependencies exceed the version found at the milestone revision level:
- com.hannesdorfmann.fragmentargs:annotation [4.0.0-SNAPSHOT <- 3.0.2]
- com.hannesdorfmann.fragmentargs:bundler-parceler [4.0.0-SNAPSHOT <- 3.0.2]
- com.github.bumptech.glide:glide [3.7.0 <- 3.6.1]
- com.hannesdorfmann.fragmentargs:processor [4.0.0-SNAPSHOT <- 3.0.2]
The following dependencies have later milestone versions:
- com.github.PhilJay:MPAndroidChart [v2.2.5 -> v3.0.1]
- com.android.support:appcompat-v7 [25.1.0 -> 25.1.1]
- com.jakewharton:butterknife [8.4.0 -> 8.5.1]
Generated report file build/dependencyUpdates\report.txt
Смотрите документы для подробных примеров использования.
ПРИМЕЧАНИЕ: версии выше 0.17.0 производят больше вывода в текстовом формате плана, в т.ч. URL проекта, что делает весь вывод раздутым. Если вы, как я считаю, бесполезно, придерживайтесь версии 0.17.0.
Ответ 4
Инструмент, представленный ниже, не работает в новых версиях Android Studio/ Gradle, и его автор больше не поддерживает его (от 30/10/2016). Поэтому решение, представленное в принятом ответе, должно использоваться, если оно не работает со старой версией Android Studio.
По состоянию на январь 2016 года есть плагин для Android Studio, который делает что-то подобное, называется Defendencies Version Checker, и источники которого можно найти на GitHub.
Его можно добавить через встроенный интерфейс (Настройки > Плагины > Обзор репозиториев...):
![Как выглядит внутри встроенного интерфейса]()
После установки и перезапуска в пользовательском интерфейсе появляется следующая вкладка:
![Новая вкладка пользовательского интерфейса, которая появляется после перезагрузки.]()
Соответствующий build.gradle
следует вставить в левую часть панели VersionChecker и нажать кнопку Version Check. Результатом является таблица, которая появляется с правой стороны, которая включает в себя последние версии библиотек, используемых в вставленном script (как показано на рисунке выше).
Ответ 5
Для зависимостей библиотеки поддержки (com.android.support) существует лучший вариант - andle
Он также может запросить центр jcenter и maven.
Простой три шага для одновременного обновления всего проекта.
1. установить:
$ sudo pip install andle
2. set sdk:
$ andle setsdk -p <sdk_path>
3. update depedency:
$ andle update -p <project_path> [--dryrun] [--remote] [--gradle]
- dryrun: только результат печати в консоли
- удаленный: проверьте версию в jcenter и mavenCentral
- gradle: проверить gradle версию
Подробнее см. https://github.com/Jintin/andle
Ответ 6
См. Файл> Структура проекта, затем нажмите "Предложения". Я знаю, что это решение было предложено Хемантом Шармой и Джеремиасом Герсичичем, но Android Studio изменила его в версии 3.4.1.
![enter image description here]()
Ответ 7
Я имел дело с этой же проблемой и попробовал ответ fooobar.com/questions/50244/...
То, что действительно работало для меня на Android Studio 3.4.1, было:
File -> Project Structure -> Dependencies
Как только вы достигнете этой точки, будут перечислены все зависимости, которые включены в ваш проект или модуль. Те, которые устарели, будут подчеркнуты, и когда вы выберете один, будут показаны детали этого, что даст вам возможность обновить переменную (если она отделена от декларации) или зависимость.
В последнее время, но это было то, что работало для меня.
Ответ 8
Чтобы получить обновленную или рекомендованную для вашего проекта зависимость должна быть такой же, как у android project
FILE -> Project Structure -> MODULES(app) -> Dependencies
Когда вы дойдете до вкладки зависимостей, нажмите кнопку +
, которая находится в верхнем правом углу окна. Когда вы щелкнете по +
Выбрать Library Dependency
, откроется новое окно для Choose Library Dependency
Найдите вашу зависимость в окне поиска, все перечисленные зависимости Android обновятся.