Плагин Android Gradle 8.10.0 (май 2025 г.)

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

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

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

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

изменения API

В плагине Android Gradle версии 8.10.0 внесены следующие существенные изменения в API:

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

Android Gradle plugin 8.10.1

Исправлены ошибки
Плагин Android Gradle
Явное включение тестов устройств в нестандартном типе сборки с использованием AGP не работает.
Уменьшитель (R8)
Ошибка NullPointerException при компиляции мгновенного приложения после обновления Kotlin до версии 2.1.20.
[AGP]: ОШИБКА: R8: java.lang.OutOfMemoryError: Требуемая длина массива 2147483638 + 196 слишком велика

Android Gradle plugin 8.10.0

Исправлены ошибки
Плагин Android Gradle
AGP следует заявить о поддержке API 35, который скоро будет выпущен.
Функция AndroidComponentsExtension.addSourceSetConfigurations перестаёт работать при включенной статистике.
В AGP 8.8.0 проект ':app' не может получить доступ к файлам 'Project.group' и 'Project.version' при изолированной настройке проекта.
Скрипт инициализации 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle', строка: 162
Скрипт инициализации 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle', строка: 162
Не удалось удалить следующие библиотеки, упаковав их в исходном виде.
В R8 добавлена ​​поддержка передачи информации об "изолированных разделениях".
Приложение аварийно завершает работу с ошибками NoClassDefFoundError и ClassNotFoundException при запуске из Android Studio.
Плагин Android Gradle: Избегайте переопределения метода Sync.getDestinationDir() в PackageRenderscriptTask и ProcessJavaResTask.
Используйте объединенные Java-ресурсы для модульных тестов.
Изолированный проект: ошибка сериализации DeclarativeSchemaModel
Дексер (D8)
Некорректная обратная совместимость android.os.Build.VERSION_CODES_FULL с Baklava.
Функция автоматического закрытия (AutoClosable desugaring) больше не сообщает о поддержке ExecutorService.close.
Ворс
Неправильное предупреждение линтера для аннотации `@Parcelize` на закрытых интерфейсах
AS 2024.3.1.4 периодически зависает при редактировании текстов на Kotlin.
Ложное срабатывание ошибки линтинга для CredentialManagerSignInWithGoogle
Исключение ConcurrentModificationException в проверке синтаксиса Aligned16KB
Lint: AGP 8.10.0-alpha05 вызывает множество ложных срабатываний SyntheticAccessor
Предоставьте возможность включения NewApi в тестовых источниках.
Какой эффект оказывает нажатие кнопки "LintIdeFix" после проверки кода в Android Studio?
Ошибка в тексте предупреждающего сообщения: "Ненужно; `Build.VERSION.SDK_INT >= Build.VERSION_CODES.O` *никогда* не является истинным здесь (`SDK_INT` ≥ 26 и < 31)"
Уменьшитель (R8)
Не удается сгенерировать подписанный APK-файл после обновления до AGP 8.9.0.
Анализ свойства written-fore-read в местах распределения памяти выявляет ошибку при генерации файла класса.
Проблема с Java SPI в R8 shrinker версий 8.6.*, 8.7.*, 8.8.0
ClassCastException возникает при безопасном приведении типов в инициализации класса.
Проблема с уменьшением ресурсов в AGP 8.9 приводит к отсутствию ресурсов в динамических функциональных модулях.
Невозможно вызвать com.android.tools.r8.internal.H5.x()