Хотите упростить управление зависимостями? Добавление некоторых инструментов в ваши процессы может ускорить процесс и указать вам на области, которые могут потребовать немного большего внимания.
Автоматическое обновление версий
Android Studio выделяет в редакторе устаревшие версии библиотек, а также предлагает быстрые исправления для их обновления. Но для этого необходимо регулярно проверять все ваши файлы сборки.
Существует ряд сторонних инструментов, которые могут автоматизировать этот процесс, обновляя файлы сборки и, при необходимости, создавая запрос на внесение изменений. Они находят и обновляют до последних доступных версий каждую зависимость, но вам все равно необходимо проанализировать результаты перед выпуском, чтобы обеспечить поведенческую совместимость. Некоторые популярные примеры включают в себя:
Проверьте доступные обновления
Плагин версий Gradle дает вам больше возможностей ручного управления обновлением. Запуск задачи dependencyUpdates
(через /gradlew :dependencyUpdates
) генерирует отчет о новых версиях зависимостей вашей библиотеки. Это может быть полезно для проверки состояния библиотеки и вручную указать, какие библиотеки вы хотите обновить в данный момент.
Это может быть особенно полезно, если вы используете собственный подход для указания версий зависимостей вместо каталога версий.
Сообщить об изменениях зависимостей
Обновление версий библиотек, которые вы используете напрямую, может оказать гораздо более широкое влияние на ваше приложение. Каждая используемая вами библиотека может потребовать других зависимостей библиотеки, образуя более крупный граф транзитивных зависимостей .
Защита зависимостей отображает изменения в этом графике между версиями вашего приложения или библиотеки. Это может быть бесценным инструментом для анализа обновлений, позволяющим рассмотреть возможность прямых и косвенных обновлений.
Обнаружение неиспользуемых и неправильно используемых зависимостей
Поддержание работоспособности вашей сборки может повысить скорость сборки и обеспечить вашему приложению и библиотеке доступ к необходимым зависимостям. Плагин Gradle для анализа зависимостей предоставляет вам инструменты для проверки ваших зависимостей, проверки правильности их использования в файлах сборки.
Его отчеты включают в себя:
- Неиспользуемые зависимости
- Используемые транзитивные зависимости (вы должны явно объявить их, чтобы ваше приложение могло получить к ним доступ, если ваши прямые зависимости перестанут их использовать)
- Зависимости объявлены в неправильной области
- Ненужное использование некоторых плагинов
- Представления GraphViz ваших зависимостей
Управление лицензиями
Разработчики каждой библиотеки лицензируют их для вашего использования. Вы обязаны соблюдать условия лицензии, иначе вы не сможете использовать эту библиотеку. Некоторые лицензии очень либеральны и часто требуют только уведомления об их использовании. Некоторые считаются «вирусными»; если вы используете эти библиотеки, вы должны применить ту же лицензию к своему приложению или библиотеке.
Лицензии могут меняться с любым выпуском. При каждом обновлении вам следует убедиться, что используемые вами зависимости лицензированы и совместимы с вашим приложением или библиотекой.
Сообщить о лицензиях
Плагин Gradle License Report помогает сообщать о лицензиях всех ваших зависимостей. Обязательно проверяйте этот отчет при обновлении любых зависимостей. Убедитесь, что лицензии совместимы с вашими требованиями, и убедитесь, что вы соблюдаете их необходимые условия.
Создание уведомлений о лицензии
Условия лицензирования часто требуют уведомления, к которому могут получить доступ пользователи приложения или потребители библиотеки. Плагин лицензии Play Services OSS и плагин лицензии Gradle генерируют данные и действия для отображения информации о лицензии. (Обратите внимание, что вы можете создать свои собственные средства отображения данных на основе пользовательского интерфейса вашего приложения).
Использование таких плагинов может автоматизировать большую часть ваших требований к уведомлениям, но имейте в виду, что они не сообщают о лицензиях на ресурсы (например, о лицензиях, необходимых для шрифтов, изображений или звуков) или о лицензиях на фрагменты кода, которые вы, возможно, скопировали. Интернет.