Плагин Android Gradle 8.3.0 – это основной выпуск, в который входит множество новых функций и улучшений.
Совместимость
Максимальный уровень API, поддерживаемый плагином Android Gradle 8.3, – 34. Другая информация о совместимости:
| Минимальная версия | Версия по умолчанию | Примечания | |
|---|---|---|---|
| Gradle | 8.4 | 8.4 | Подробнее о том, как обновить Gradle… |
| Инструменты сборки SDK | 34.0.0 | 34.0.0 | Установите или настройте инструменты сборки SDK. |
| NDK | Н/Д | 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 добавляет зависимости непосредственно в скрипты сборки. Ассистент Firebase добавляет зависимости непосредственно в скрипты сборки, а не через каталоги версий.
Функция "Найти использования" не поддерживается. Поиск использования переменной каталога версий в других файлах сборки пока не поддерживается, независимо от того, в каком формате создан файл сборки – KTS или Groovy. То есть при нажатии Control+клик (Command+клик в macOS) на определении переменной в каталоге версий не открываются файлы сборки, в которых используется эта переменная.
В диалоговом окне "Структура проекта" в Android Studio показывается несколько файлов каталога, если они находятся в корневой папке
gradle, но не показываются каталоги для составной сборки. Например, если у вас есть два файла каталога: один для приложения, а другой для составной сборки, в диалоговом окне "Структура проекта" будет показан только файл каталога приложения. Вы можете использовать составную сборку, но вам придется редактировать ее файл TOML напрямую.
Дополнительная информация об SDK: нарушения правил
Android Studio показывает предупреждения lint в файлах build.gradle.kts и build.gradle, а также в диалоговом окне структуры проекта для общедоступных SDK, которые нарушают правила Google Play и перечислены в указателе SDK Google Play. Вам следует обновить все зависимости, нарушающие правила Google Play, поскольку в противном случае вы не сможете публиковать приложения в Google Play Console. Предупреждения о нарушении правил дополняют предупреждения об устаревшей версии, которые показывает Android Studio.
Поддержка версии compileSdk в Android Studio
Если в вашем проекте используется compileSdk, который не поддерживается текущей версией Android Studio, появится предупреждение. Если доступно, также предлагается перейти на версию Android Studio, которая поддерживает compileSdk, используемый в вашем проекте. Обратите внимание, что при обновлении Android Studio может потребоваться обновить и AGP.
AGP также показывает предупреждение в окне инструмента Сборка, если compileSdk, используемый в вашем проекте, не поддерживается текущей версией AGP.
Изменения в работе инструмента Lint
Начиная с версии 8.3.0-alpha02 плагина Android Gradle, при запуске 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 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Интеграция с Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Shrinker (R8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||