Плагин 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.0
Исправленные проблемы | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Плагин Android Gradle |
| |||||||||||||||||||||||||||||||||||||||||||||||||
Дексер (D8) |
| |||||||||||||||||||||||||||||||||||||||||||||||||
Линт |
| |||||||||||||||||||||||||||||||||||||||||||||||||
Интеграция Lint |
| |||||||||||||||||||||||||||||||||||||||||||||||||
Усадочный аппарат (R8) |
|
Плагин Android Gradle 8.3.1
Исправленные проблемы | ||
---|---|---|
Плагин Android Gradle |
| |
Интеграция Lint |
|
Плагин Android Gradle 8.3.2
Исправленные проблемы | |||
---|---|---|---|
Плагин Android Gradle |
| ||
Интеграция Lint |
|