Плагин Android Gradle 8.6.0 (август 2024 г.)

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

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

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

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

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

Плагин Android Gradle 8.6.0

Исправленные проблемы
Плагин Android Gradle
Регрессия AGP 7.0.0-alpha10: не удалось применить плагин com.android.internal.library при включенной привязке данных.
Ошибки при запуске lint с K2 UAST и без него
Манифест не создан для конфигурации androidTest варианта
AGP 8.4 пытается настроить профили запуска в отладочных сборках
[Koala 2024.1.2 Canary 2] Ошибка запуска модуля базового профиля в разделенном APK
Очистить/удалить ProjectInfo
Обновление устаревшего kdoc для `isIncludeAndroidResources` в AGP DSL.
Lint использует каталог res без добавления зависимости задачи
AGP 8.5: выполняется гораздо больше задач «mergeDebugResources», что замедляет сборку
Добавление каталога srcs через Variant API не работает должным образом
Дексер (D8)
Обновление базы данных API до Android 15 (уровень API 35)
java.lang.VerifyError: Проверяющий отклонил класс com.pax.log.LogUtils: java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int) не удалось проверить
Линт
Lint не вызывает visitAnnotationUsage для использования аннотированных аннотаций.
Ошибка линтинга UnknownNullness при использовании аннотаций типа
[библиотека desugar] lint показывает ложное срабатывание предупреждения NewApi при включенной десугарации
Неверное предупреждение диспетчера учетных данных Lint на Wear
Lint: SetTextI18n жалуется на назначение пустой строки.
Интеграция Lint
Задачи lint не выполняются при включенной сборке
Усадочный аппарат (R8)
[r8 8.5]Горизонтальное слияние классов r8 приводит к ошибке проверки на Android5 при отключении моделирования API.
Выпуск Wear OS, собранный с помощью Gradle Plugin 8.4.0/8.5.0, может вызывать ошибку java.lang.IllegalAccessError.
R8 неявно заменяет пустой член предложения совпадением ()
[r8 8.5] Вертикальное слияние классов, вызывающее NPE во время выполнения
Ошибка обработки R8, возможно, из-за оператора сдвига вправо
R8 (AGP 8.5.0+) завершается с ошибкой «Неожиданная перезапись элемента: ... на два различных элемента:...».
Файл dex, созданный R8, при выполнении выдает сообщение «Не удалось найти static main(String[]) в 'Test'».
Различное поведение программ, упакованных R8 и D8
R8 NullPointer после обновления до Kotlin 2.0

Плагин Android Gradle 8.6.1

Исправленные проблемы
Дексер (D8)
Задача/преобразование дексирования генерирует недетерминированное содержимое classes.dex
Усадочный аппарат (R8)
R8 8.5.x StackOverflowError в SimpleInliningConstraintAnalysis
Задача: xxxx:minifyXXXReleaseWithR8 ОШИБКА: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException: Невозможно вызвать «com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()»