Плагин Android Gradle 8.9.0 (март 2025 г.)

Плагин Android Gradle 8.9.0 – это крупный выпуск, который включает множество новых функций и улучшений.

Совместимость

Максимальный уровень API, который поддерживает плагин Android Gradle 8.9, – 35. Вот ещё несколько фактов о совместимости:

Минимальная версия Версия по умолчанию Примечания
Gradle 8.11.1 8.11.1 Подробнее об обновлении Gradle…
SDK Build Tools; 35.0.0 35.0.0 Установите или настройте SDK Build Tools.
NDK Н/Д 27.0.12077973 Установите или настройте другую версию NDK.
JDK 17 17 Подробнее о том, как задать версию JDK…

Устраненные проблемы

Плагин Android Gradle 8.9.2

Устраненные проблемы
Shrinker (R8)
Проблема с удалением неиспользуемых ресурсов в AGP 8.9, из-за которой в модулях функций отсутствуют ресурсы
ClassCastException из безопасного приведения в инициализации класса
Cannot invoke com.android.tools.r8.internal.H5.x()

Плагин Android Gradle 8.9.1

Устраненные проблемы
Dexer (D8)
Неправильный бэкпортинг android.os.Build.VERSION_CODES_FULL для Baklava
Shrinker (R8)
Не удается создать подписанный APK после обновления до AGP 8.9.0
При анализе свойства "записано до чтения" в местах выделения памяти произошла ошибка во время создания файла класса.
Проблема с Java SPI в R8 shrinker версий 8.6.*, 8.7.*, 8.8.0

Плагин Android Gradle 8.9.0

Устраненные проблемы
Плагин Android Gradle
Показывать сообщение об ошибке, когда задача настройки GMD не выполняется из-за нехватки места на диске
Плагин com.android.settings не распознает targetSdk
Неинформативная ошибка "compileSdkVersion is not specified. Добавьте его в файл build.gradle".
В меню Build (Сборка) нет пункта Clean build (Очистить сборку)
Возможно, встроенная поддержка Kotlin в AGP автоматически добавит зависимость kotlin stdlib.
Обновите shouldConfigureKotlinPlatformAttribute, чтобы обрабатывать встроенную поддержку Kotlin
Добавьте синтаксис Kotlin Gradle в сообщение об ошибке для checkTestedAppObfuscationRelease.
Ошибка Fused Library, когда неразрешенная зависимость может быть улучшена
Системные свойства из gradle.properties не передаются в R8 Gradle Workers в отдельных процессах.
Сделать BuiltArtifact.outputFile типом File
Если не указать пространство имен в объединенной библиотеке, сообщение об ошибке будет неинформативным.
Параметры lint в AGP 7.1.0-alpha08 не разрешают stdout
Плагин Android Gradle: варианты должны показывать названия наборов исходных файлов
Кеш конфигурации чувствителен к настройке переменной среды TERM.
AndroidComponentsExtension.addSourceSetConfigurations не работает, когда включена статистика
Скрипт инициализации "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle", строка 162.
AndroidComponentsExtension.addSourceSetConfigurations не работает, когда включена статистика
Dexer (D8)
java.lang.VerifyError: Verifier rejected class: [0x430] copy1 v2<-v264 type=Undefined cat=3
Lint
Сбои Lint при проверках Gradle
Lint завершается с ошибкой InstantiationException без сообщения об исключении в трассировке стека lint
Ложноположительная проверка lint: разрешение android.permission.SCHEDULE_EXACT_ALARM предоставляется только системным приложениям
Проверка StringFormatInvalid должна применяться к методу Compose stringResource.
Аннотация RequiresFeature не работает для файлов Kotlin
kotlin android.os.Handler removeCallbacks Runnable
Предупреждение WrongConstant lint при определении, а не использовании константы с помощью сдвига
Ошибка WrongConstant lint появляется дважды
Исключение во время выполнения ниже API 26 с неподдерживаемым Java nio API (без ошибки lint)
Lint запрещает использовать RequiresApi даже в частном вспомогательном методе в тесте
В режиме K2 при использовании .hasRoute(Route::class) в Android Studio появляется предупреждение RestrictedApi
Lint предлагает заменить @RequiresExtension в тесте на @SdkSuppress, который не поддерживает расширения SDK
Lint ошибочно сообщает о ненужном вложенном макете, когда FrameLayout используется с fitSystemWindows для упаковки дочернего RelativeLayout, которому требуется настраиваемый отступ.
Правило CoarseFineLocation не учитывает атрибут maxSdkVersion
AppLinkSplitToWebAndCustom – неизвестная проблема в lint 8.7.3
Сбой StringEscapeDetector при проверке Lint на "\\ "
Неверное предупреждение lint для аннотации `@Parcelize` в запечатанных интерфейсах.
AS 2024.3.1.4 периодически зависает при редактировании текстов Kotlin.
Интеграция с Lint
lintVitalRelease не запускается автоматически при сборке набора App Bundle
Shrinker (R8)
Gson ProGuard работает неправильно после обновления до AGP 8.8
java.lang.VerifyError: Verifier rejected class
Сбои Leanback при минификации с помощью R8, включенного в AGP 8.10.0-alpha04