Плагин 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 при использовании аннотаций type-use
[библиотека desugar] lint показывает ложное срабатывание предупреждения NewApi при включенной десугарации
Неверное предупреждение диспетчера учетных данных Lint на Wear
Lint: SetTextI18n жалуется на назначение пустой строки.
Интеграция Линта
Задачи 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()"