Плагин Android Gradle 8.3.0 — это крупный релиз, включающий множество новых функций и улучшений.
Совместимость
Максимальный уровень API, поддерживаемый плагином Android Gradle 8.3, — это уровень API 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 Patch 2 и AGP 8.3.2 (апрель 2024 г.)
Это небольшое обновление включает в себя исправления следующих ошибок .
Android Studio Iguana | 2023.2.1 Patch 1 и AGP 8.3.1 (март 2024 г.)
Это небольшое обновление включает в себя исправления следующих ошибок .
Поддержка каталогов версий Gradle
Android Studio поддерживает каталоги версий Gradle на основе TOML — функцию, позволяющую централизованно управлять зависимостями и использовать их совместно между модулями и проектами. Теперь Android Studio упрощает настройку каталогов версий благодаря подсказкам редактора и интеграции с диалоговым окном «Структура проекта» . Узнайте, как настроить каталоги версий Gradle или как перенести сборку в каталоги версий .
Автодополнение кода и навигация
 Android Studio предлагает автодополнение кода при редактировании каталога версий в формате TOML или добавлении зависимости из каталога версий в файл сборки. Чтобы воспользоваться автодополнением кода, нажмите Ctrl+Пробел ( Command+Пробел в 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.
- Поддержка Android Studio только для каталогов версий в формате TOML: в настоящее время поддержка автодополнения кода, навигации и диалогового окна структуры проекта в 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 отображает предупреждения lint в файлах build.gradle.kts и build.gradle , а также в диалоговом окне «Структура проекта» для публичных SDK, нарушающих правила Play в индексе Google Play SDK . Необходимо обновить все зависимости, нарушающие правила Play, поскольку эти нарушения могут помешать публикации в Google Play Console в будущем. Предупреждения о нарушениях правил дополняют предупреждения об устаревших версиях, отображаемые Android Studio.
Поддержка версии Android Studio compileSdk
 Android Studio отображает предупреждение, если ваш проект использует compileSdk , который не поддерживается текущей версией Android Studio. Если доступно, также предлагается перейти на версию Android Studio, поддерживающую compileSdk используемый в вашем проекте. Имейте в виду, что обновление Android Studio может потребовать обновления AGP . AGP также отображает предупреждение в окне инструмента сборки , если compileSdk , используемый в вашем проекте, не поддерживается текущей версией AGP.
Изменения в поведении линта
 Начиная с версии плагина Gradle для Android 8.3.0-alpha02, при запуске lint-анализа модуля выполняются отдельные задачи lint-анализа для основного и тестового компонентов модуля. Это изменение сделано для повышения производительности. Чтобы вернуться к предыдущему поведению, установите 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) | 
 | |||||||||||||||||||||||||||||||||||||||||||||||||
