Плагин Android Gradle 8.8.0 (январь 2025 г.)

Android Gradle Plugin 8.8.0 — это крупный релиз, включающий множество новых функций и улучшений.

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

Максимальный уровень API, поддерживаемый плагином Android Gradle 8.8, — API уровня 35. Вот дополнительная информация о совместимости:

Минимальная версия Версия по умолчанию Примечания
Грейдл 8.10.2 8.10.2 Более подробную информацию см. в разделе Обновление Gradle .
Инструменты сборки SDK 35.0.0 35.0.0 Установите или настройте инструменты сборки SDK.
НДК Н/Д 27.0.12077973 Установите или настройте другую версию NDK.
JDK 17 17 Более подробную информацию см. в разделе Установка версии JDK .

Исправлены проблемы

Плагин Android Gradle 8.8.0

Исправленные проблемы
Плагин Android Gradle
Рассмотрим аннотированный тип ввода для JacocoTransform как @Classpath
com.android.build.api.variant.GeneratesApk должен предоставлять minSdk
Плагин com.android.settings не распознает targetSdk
SourceDirectories.addGeneratedSourceDirectory не дружелюбен к нескольким вариантам
Реализовать флаг для отключения проверки минимальной версии AGP
AGP имеет запутанное взаимодействие с настройкой параметров компилятора Kotlin
AGP должен предоставлять BuiltArtifactLoader для целевого проекта APK в проектах com.android.test.
[AGP] Ленивый поставщик SdkComponents.ndkDirectory не может предоставить ценность, но API android.ndkDirectory работает.
Параметры сборки: добавить новый параметр «Конфигурация запуска сборки» и сделать его параметром по умолчанию.
BuildConfig не может быть разрешен в модульных тестах при использовании android.enableBuildConfigAsBytecode=true
APK-файлы, созданные из пакетов, не учитывают поддержку «песочницы конфиденциальности».
Плагин com.android.settings не распознает targetSdk
Дексер (D8)
Библиотека Desugar 2.1.0 не работает с AGP 8.5.2
Линт
Несовместимость KtAnalysisSessionProvider с проверками lint, появившимися в версии 8.7.0-alpha04
«Ложное срабатывание» WrongConstant при использовании PackageManager.ResolveInfoFlags.of с Kotlin
Ошибка lint «Необходимо указать хотя бы один хост» при настройке схемы фильтра намерений http или https
Обработка аннотаций типа использования в большем количестве случаев для линта UnknownNullness
AGP 8.6.1: Регрессия — ошибка линтинга WrongConstant при использовании [Int].toLong() внутри @LongDef в Kotlin
AGP 8.7.0 — ложный положительный результат проверки RestrictedApi в NavOptionsBuilder.popUpTo
НеправильноПостоянный ворс появляется дважды
Предупреждение «MonochromeLauncherIcon: монохромный значок не определен» не обнаруживается в Android Studio.
AbstractAnnotationDetector проверяет неправильно перегруженные функции/конструкторы
Lint ImportAliasTestMode не создает псевдонимы импорта для функций верхнего уровня.
НеправильноПостоянный ворс появляется дважды
Новые предупреждения ObsoleteSdkInt lint с AGP 8.8
Ложноположительная проверка lint android.permission.SCHEDULE_EXACT_ALARM предоставляется только системным приложениям.
Режим K2 выдает предупреждение RestrictedApi при использовании .hasRoute(Route::class) в Android Studio
Интеграция Lint
Вариант задачи Lint не найден после оценки
Сбой линтинга при импорте AAR-файла с файлами реализации

Плагин Android Gradle 8.8.1

Исправленные проблемы
Дексер (D8)
Добавить OpenJDK 23 для тестирования
Усадочный аппарат (R8)
java.lang.AbstractMethodError: Класс приемника [...]$$Lambda$[...] не определяет и не наследует реализацию разрешенного метода [...] интерфейса [...]
NPE в Enqueuer, связанный с записью DexCallSite
R8 8.7.18 вызывает исключение нулевого указателя во время выполнения при вызове задания?.cancel
java.lang.NoClassDefFoundError: Не удалось разрешить: Lkotlin/LazyThreadSafetyMode
Монзо, похоже, тратит слишком много времени на тряску деревьев.
Сбой сборки AGP 8.8: R8: java.lang.NullPointerException: Невозможно прочитать поле «b», так как возвращаемое значение «com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)» равно null`

Плагин Android Gradle 8.8.2

Исправленные проблемы
Плагин Android Gradle
Строка скрипта инициализации «C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle»: 162
Усадочный аппарат (R8)
Gson Proguard работает некорректно после обновления до AGP 8.8
java.lang.VerifyError: Верификатор отклонил класс
Leanback вылетает при минификации с R8, включенным в AGP 8.10.0-alpha04