Плагин Android Gradle 8.7.0 (октябрь 2024 г.)

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

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

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

Минимальная версия Версия по умолчанию Примечания
"Грейдл" 8,9 8,9 «Чтобы узнать больше, см. обновление Gradle ».
Инструменты сборки SDK 34.0.0 34.0.0 Установите или настройте инструменты сборки SDK.
НДК Н/Д 27.0.12077973 « Установите или настройте другую версию NDK».
ЯДК 17 17 «Чтобы узнать больше, см. настройку версии JDK ».

Изменение поведения ворса

Начиная с плагина Android Gradle 8.7.0-alpha08, если при запуске lint с использованием Gradle возникает LintError , задача анализа lint выдает исключение. Это изменение предотвращает кэширование редких ошибок в кэше сборки.

К сожалению, это изменение нарушает сборку проектов с подлинными экземплярами LintError в базовых файлах lint. Сообщение об ошибке содержит информацию о том, какие проверки на наличие ворса вызывают проблему. В некоторых случаях обновление соответствующей зависимости библиотеки может решить проблему. Если нет, вы можете отключить проверку проблемных ворсинок, пока автор библиотеки не исправит ее.

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

Плагин Android Gradle 8.7.0

Исправленные проблемы
Плагин Android Gradle
AGP должен заявить, что поддерживает API 35, который скоро появится в продаже.
AGP 8.5: выполняется гораздо больше задач «mergeDebugResources», что замедляет сборку.
Сделайте ndk 27 ​​NDK по умолчанию в AGP.
AGP должен заявить, что поддерживает API 35, который скоро появится в продаже.
AGP должен заявить, что поддерживает API 35, который скоро появится в продаже.
Запуск Android lint завершился с ошибкой NoSuchFileException
BuildType#initWith копирует блок постобработки, но конфигурация proguard не применяется
Невозможно объединить теги forforegroundServiceType
Запуск Android lint завершился с ошибкой NoSuchFileException
Ворс
Lint должен проверять наличие недопустимых объектов, используемых в качестве групп просмотра.
«android:host отсутствует» для uris с нулевым хостом
Несовместимость KtAnalysisSessionProvider с проверками на ворс, представленными в версии 8.7.0-alpha04.
«Ложное срабатывание» WrongConstant при использовании PackageManager.ResolveInfoFlags.of с Kotlin

Плагин Android Gradle 8.7.1

Исправленные проблемы
Плагин Android Gradle
в документации agp много неясного
Ворс
AGP 8.6.1: Регрессия — ошибка проверки WrongConstant при использовании [Int].toLong() внутри @LongDef в Kotlin
Ошибка «Необходимо указать хотя бы один хост» при настройке схемы фильтра намерений http или https.

Плагин Android Gradle 8.7.2

Исправленные проблемы
Ворс
AGP 8.7.0 — Lint False Positive RestrictedApi на NavOptionsBuilder.popUpTo
Шринкер (R8)
[R8 8.6.27] Реализация метода заменена на `throw null`
Файлы proguard для Android по умолчанию выдают предупреждение при использовании с текущей версией R8.
MissingStartupProfileItemsDiagnostic приводит к сбою клиента Gradle из-за ошибки нехватки памяти, если сообщение слишком велико

Плагин Android Gradle 8.7.3

Исправленные проблемы
Ворс
Множество отсутствующих предупреждений о методах API анализа при запуске lint
Ложноположительная проверка lint android.permission.SCHEDULE_EXACT_ALARM предоставляется только системным приложениям.