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

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

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

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

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

Изменение поведения Lint

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

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

Исправлены ошибки

Плагин Android Gradle 8.7.3

Исправлены ошибки
Ворс
При запуске линтера появляется множество предупреждений об отсутствии методов API анализа.
Ложное срабатывание проверки кода (lint check) и разрешение android.permission.SCHEDULE_EXACT_ALARM предоставляется только системным приложениям.

Плагин Android Gradle 8.7.2

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

Плагин Android Gradle 8.7.1

Исправлены ошибки
Плагин Android Gradle
В документации AGP много неопределенностей.
Ворс
AGP 8.6.1: Регрессия - Ошибка проверки синтаксиса WrongConstant при использовании [Int].toLong() внутри @LongDef в Kotlin
Ошибка линтера "Необходимо указать как минимум один хост" при настройке схемы intent-filter для HTTP или HTTPS.

Плагин 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 не применяется.
Невозможно выполнить слияние для тегов foregroundServiceType.
Запуск Android lint завершился с ошибкой NoSuchFileException.
Ворс
Lint должен проверять наличие недопустимых объектов, используемых в качестве ViewGroups.
"android:host is missing" для URI с пустым значением host
Несовместимость KtAnalysisSessionProvider с проверками синтаксиса, появившаяся в версии 8.7.0-alpha04.
Ошибка "Ложное срабатывание" WrongConstant при использовании PackageManager.ResolveInfoFlags.of с Kotlin