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

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

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

Максимальный уровень API, поддерживаемый плагином Android Gradle 8.6, — 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.1

Исправлены ошибки
Дексер (D8)
Задача/преобразование Dexing генерирует недетерминированное содержимое 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()"

Плагин 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-файле
Очистка/удаление информации о проекте
Обновите устаревшую документацию 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 при использовании аннотаций использования типов.
[library desugar] lint показывает ложное срабатывание предупреждения NewApi при включенном десахарировании
Предупреждение Crescent Manager Lint на Wear некорректно.
Lint: Функция SetTextI18n выдает ошибку при присваивании пустой строки.
Интеграция Lint
Проверка синтаксиса завершается с ошибкой при использовании включенной сборки.
Уменьшитель (R8)
[r8 8.5]r8 горизонтальное слияние классов вызывает ошибку проверки на Android5 при отключении моделирования API.
Сборка Wear OS с использованием плагина Gradle 8.4.0/8.5.0 может вызвать ошибку java.lang.IllegalAccessError.
R8 неявно заменяет пустой пункт-член соответствием ()
[r8 8.5] вертикальное слияние классов вызывает NPE во время выполнения
Ошибка обработки R8, возможно, связана с оператором правой смены.
В R8 (AGP 8.5.0+) возникает ошибка "Неожиданная перезапись элемента: ... на два различных элемента:..."
В файле dex, сгенерированном R8, при выполнении отображается сообщение "Unable to find static main(String[]) in 'Test'".
Различия в поведении программ, упакованных R8 и D8.
Ошибка NullPointer в R8 после обновления до Kotlin 2.0