Плагин 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-файлы, созданные из Bundle, не учитывают поддержку «песочницы» конфиденциальности
Плагин 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
Обработка аннотаций использования типов в большем количестве случаев для lint UnknownNullness
AGP 8.6.1: Регрессия — сбой линтинга WrongConstant при использовании [Int].toLong() внутри @LongDef в Kotlin
AGP 8.7.0 - ложный положительный результат проверки Lint RestrictedApi на NavOptionsBuilder.popUpTo
НеправильноПостоянный ворс появляется дважды
Предупреждение «MonochromeLauncherIcon: монохромный значок не определен» не обнаруживается Android Studio
AbstractAnnotationDetector проверяет неправильно перегруженные функции/конструкторы
Lint ImportAliasTestMode не создает псевдонимы импорта для функций верхнего уровня.
НеправильноПостоянный ворс появляется дважды
Новые предупреждения ObsoleteSdkInt lint с AGP 8.8
Ложноположительная проверка lint android.permission.SCHEDULE_EXACT_ALARM предоставляется только системным приложениям
K2 Mode выдает предупреждение RestrictedApi при использовании .hasRoute(Route::class) в Android Studio
Интеграция Линта
Вариант задачи Lint не найден после оценки
Сбой линтинга при импорте файла AAR с файлами реализации

Плагин Android Gradle 8.8.1

Исправленные проблемы
Дексер (D8)
Добавить OpenJDK 23 для тестирования
Усадочный аппарат (R8)
java.lang.AbstractMethodError: Класс-приемник [...]$$Lambda$[...] не определяет и не наследует реализацию разрешенного метода [...] интерфейса [...]
NPE в Enqueuer, связанный с записью DexCallSite
R8 8.7.18 вызывает исключение нулевого указателя во время выполнения при вызове job?.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