Плагин Android Gradle версии 8.3.0 — это крупный релиз, включающий множество новых функций и улучшений.
Совместимость
Максимальный уровень API, поддерживаемый плагином Android Gradle 8.3, — 34. Вот дополнительная информация о совместимости:
| Минимальная версия | Версия по умолчанию | Примечания | |
|---|---|---|---|
| Грэдл | 8.4 | 8.4 | Для получения более подробной информации см. раздел «Обновление Gradle» . |
| Инструменты сборки SDK | 34.0.0 | 34.0.0 | Установите или настройте инструменты сборки SDK. |
| НДК | Н/Д | 25.1.8937393 | Установите или настройте другую версию NDK. |
| JDK | 17 | 17 | Для получения более подробной информации см. раздел «Настройка версии JDK» . |
Ниже перечислены новые функции плагина Android Gradle версии 8.3.
Выпуск обновлений
Ниже приведён список выпущенных исправлений для плагинов Android Studio Iguana и Android Gradle версии 8.3.
Android Studio Iguana | Патч 2023.2.1 и AGP 8.3.2 (апрель 2024 г.)
Это небольшое обновление включает в себя исправления следующих ошибок .
Android Studio Iguana | Патч 1 версии 2023.2.1 и AGP 8.3.1 (март 2024 г.)
Это небольшое обновление включает в себя исправления следующих ошибок .
Поддержка каталогов версий Gradle
Android Studio поддерживает каталоги версий Gradle на основе TOML — функцию, позволяющую управлять зависимостями в одном центральном месте и совместно использовать зависимости между модулями или проектами. Android Studio теперь упрощает настройку каталогов версий благодаря подсказкам редактора и интеграции с диалоговым окном «Структура проекта» . Узнайте, как настроить каталоги версий Gradle или как перевести сборку на использование каталогов версий .
Автозавершение кода и навигация
Android Studio предлагает автозавершение кода при редактировании каталога версий в формате TOML или добавлении зависимости из каталога версий в файл сборки. Чтобы использовать автозавершение кода, нажмите Ctrl+Space ( Command+Space на macOS). Кроме того, вы можете быстро перейти от ссылки на зависимость в файле build.gradle вашего приложения к месту её объявления в каталоге версий, нажав Ctrl+b ( Command+b на macOS).

Интеграция с диалоговым окном «Структура проекта».
Если в вашем проекте используется каталог версий, определенный в формате файла TOML, вы можете редактировать определенные там переменные через диалоговое окно « Структура проекта» в разделе «Переменные» ( Файл > Структура проекта > Переменные ) в Android Studio. Для каждого каталога версий есть раскрывающийся список переменных из этого каталога. Чтобы отредактировать переменную, щелкните по ее значению и перезапишите его. После сохранения этих изменений файл TOML будет обновлен соответствующим образом.

Вы также можете обновить зависимости в диалоговом окне «Структура проекта» в разделе «Зависимости» ( Файл > Структура проекта > Зависимости ). Чтобы обновить версии с помощью диалогового окна «Структура проекта» , перейдите к модулю и зависимости, которые вы хотите отредактировать, а затем обновите поле «Запрашиваемая версия» . После сохранения этих изменений файл TOML будет обновлен соответствующим образом. Обратите внимание, что если версия зависимости была определена с помощью переменной, обновление версии таким способом заменит переменную жестко заданным значением. Также имейте в виду, что удаление зависимости из файла сборки, независимо от того, используете ли вы диалоговое окно « Структура проекта» или нет, не удаляет зависимость из каталога версий.

Известные проблемы и ограничения
Ниже перечислены известные проблемы или ограничения, связанные с поддержкой каталогов версий Gradle в Android Studio.
Ошибка подсветки объявлений псевдонимов плагинов в скриптовых файлах Kotlin: при добавлении объявления плагина вида
alias(libs.plugins.example)редактор добавляет красное подчеркивание под частьюlibs. Это известная проблема в версиях Gradle 8.0 и ниже, и она будет решена в будущих релизах Gradle.Поддержка каталогов версий в формате TOML в Android Studio доступна только в настоящее время: автозавершение кода, навигация и диалоговое окно структуры проекта в Android Studio поддерживаются только для каталогов версий, определенных в формате файла TOML. Однако вы все еще можете добавить каталог версий непосредственно в файл
settings.gradleи использовать его зависимости в своем проекте.Навигация по файлам сборки KTS не поддерживается: переход к определению зависимости в каталоге версий с помощью комбинации клавиш Control + щелчок ( Command + щелчок в macOS) пока не поддерживается для файлов сборки, написанных на Kotlin-скриптах.
Firebase Assistant добавляет зависимости непосредственно в скрипты сборки: Firebase Assistant добавляет зависимости прямо в ваши скрипты сборки, а не через каталоги версий.
Функция «Поиск использований» не поддерживается: поиск использований переменной каталога версий в других файлах сборки пока не поддерживается, независимо от того, используется ли файл сборки в KTS или Groovy. То есть, нажатие Control + щелчок ( Command + щелчок в macOS) на определение переменной в каталоге версий не приводит к файлам сборки, где эта переменная используется.
В диалоговом окне «Структура проекта» в Android Studio отображается несколько файлов каталога, если они находятся в корневой папке
gradle, но не отображаются каталоги для составной сборки . Например, если у вас есть два файла каталога — один для вашего приложения и один для составной сборки — в диалоговом окне «Структура проекта» отображается только файл каталога приложения. Вы можете использовать составную сборку, но вам придется редактировать ее TOML-файл напрямую.
Дополнительные сведения о SDK: вопросы политики.
Android Studio отображает предупреждения линтера в файлах build.gradle.kts и build.gradle а также в диалоговом окне структуры проекта для общедоступных SDK, которые нарушают правила Play в индексе Google Play SDK . Вам следует обновить все зависимости, нарушающие правила Play, поскольку эти нарушения могут помешать вам публиковать приложения в Google Play Console в будущем. Предупреждения о нарушениях правил дополняют предупреждения об устаревших версиях, отображаемые Android Studio.
Поддержка версий compileSdk в Android Studio
Android Studio выдает предупреждение, если ваш проект использует compileSdk , не поддерживаемый текущей версией Android Studio. Если такая возможность доступна, система также предлагает перейти на версию Android Studio, которая поддерживает compileSdk , используемый вашим проектом. Имейте в виду, что обновление Android Studio может также потребовать обновления AGP . AGP также выдает предупреждение в окне инструментов сборки, если compileSdk , используемый вашим проектом, не поддерживается текущей версией AGP.
Изменения в поведении Lint
Начиная с плагина Android Gradle 8.3.0-alpha02, при запуске линтинга для модуля выполняются отдельные задачи анализа линтинга для основного и тестового компонентов модуля. Причина этого изменения — повышение производительности. Чтобы вернуться к прежнему поведению, установите параметр android.experimental.lint.analysisPerComponent=false в файле gradle.properties .
Точное уменьшение объема ресурсов включено по умолчанию.
Точное сжатие ресурсов, которое удаляет неиспользуемые записи из файла resources.arsc и исключает неиспользуемые файлы ресурсов, включено по умолчанию. При включении этого сжатия таблица ресурсов уменьшается, и в APK-файл включаются только записи из папки res , на которые есть ссылки.
Чтобы отключить точное сжатие ресурсов, установите параметр android.enableNewResourceShrinker.preciseShrinking в значение false в файле gradle.properties вашего проекта.
Исправлены ошибки
Плагин Android Gradle 8.3.2
| Исправлены ошибки | |||
|---|---|---|---|
| Плагин Android Gradle |
| ||
| Интеграция Lint |
| ||
Плагин Android Gradle 8.3.1
| Исправлены ошибки | ||
|---|---|---|
| Плагин Android Gradle |
| |
| Интеграция Lint |
| |
Плагин Android Gradle 8.3.0
| Исправлены ошибки | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Плагин Android Gradle |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Дексер (D8) |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Ворс |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Интеграция Lint |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Уменьшитель (R8) |
| |||||||||||||||||||||||||||||||||||||||||||||||||