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

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

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

Максимальный уровень API, поддерживаемый плагином Android Gradle 8.8, — 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.2

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

Плагин Android Gradle 8.8.1

Исправлены ошибки
Дексер (D8)
Добавьте OpenJDK 23 для тестирования.
Уменьшитель (R8)
java.lang.AbstractMethodError: Класс-получатель [...]$$Lambda$[...] не определяет и не наследует реализацию разрешенного метода [...] интерфейса [...]
NPE в Enqueuer связан с записью DexCallSite
В версии R8 8.7.18 при вызове функции job?.cancel возникает исключение NullPointerException во время выполнения.
java.lang.NoClassDefFoundError: Не удалось разрешить: Lkotlin/LazyThreadSafetyMode
Похоже, Monzo тратит чрезмерное количество времени на «тряску деревьев».
Сбой сборки релизной версии 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.0

Исправлены ошибки
Плагин Android Gradle
Рассмотрите возможность добавления аннотации `@Classpath` к типу входных данных для JacocoTransform.
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 работает при немедленном выполнении.
Параметры сборки: Добавить новый параметр «Конфигурация запуска сборки» и сделать его параметром по умолчанию.
При использовании параметра android.enableBuildConfigAsBytecode=true в модульных тестах не удается разрешить BuildConfig.
При создании APK-файлов из пакетов (Bundles) поддержка песочницы конфиденциальности не учитывается.
Плагин com.android.settings не распознает targetSdk
Дексер (D8)
Библиотека Desugar 2.1.0 не работает с AGP 8.5.2.
Ворс
Несовместимость KtAnalysisSessionProvider с проверками синтаксиса, появившаяся в версии 8.7.0-alpha04.
Ошибка "Ложное срабатывание" WrongConstant при использовании PackageManager.ResolveInfoFlags.of с Kotlin
Ошибка линтера "Необходимо указать как минимум один хост" при настройке схемы intent-filter для HTTP или HTTPS.
Обрабатывать аннотации использования типов в большем количестве случаев для проверки синтаксиса UnknownNullness
AGP 8.6.1: Регрессия - Ошибка проверки синтаксиса WrongConstant при использовании [Int].toLong() внутри @LongDef в Kotlin
AGP 8.7.0 - Lint False Positive RestrictedApi on NavOptionsBuilder.popUpTo
Ошибка WrongConstant lint появляется дважды.
Предупреждение «MonochromeLauncherIcon: Monochrome icon is not defined» не обрабатывается Android Studio.
AbstractAnnotationDetector проверяет неправильно перегруженные функции/конструкторы.
Lint ImportAliasTestMode не создает псевдонимы импорта для функций верхнего уровня.
Ошибка WrongConstant lint появляется дважды.
Новые предупреждения lint для ObsoleteSdkInt в AGP 8.8
Ложное срабатывание проверки кода (lint check) и разрешение android.permission.SCHEDULE_EXACT_ALARM предоставляется только системным приложениям.
В Android Studio K2 Mode выдает предупреждение RestrictedApi при использовании метода .hasRoute(Route::class).
Интеграция Lint
После оценки не был обнаружен вариант задачи Lint.
Проверка синтаксиса завершается с ошибкой при импорте AAR-файла с файлами реализации.