Заметки о выпуске плагина Android Gradle 8.13

Репозиторий JCenter стал доступен только для чтения 31 марта 2021 года. Для получения дополнительной информации см. обновление сервиса JCenter .

Система сборки Android Studio основана на Gradle, а плагин Android Gradle добавляет несколько функций, специально предназначенных для сборки приложений Android. Хотя плагин Android Gradle (AGP) обычно обновляется синхронно с Android Studio, он (и остальная часть системы Gradle) может работать независимо от Android Studio и обновляться отдельно.

На этой странице объясняется, как поддерживать инструменты Gradle в актуальном состоянии и что нового в последних обновлениях. Примечания к выпускам предыдущих версий плагина Android Gradle см. в разделе «Примечания к предыдущим выпускам» .

Краткий обзор предстоящих изменений, нарушающих обратную совместимость плагина Android Gradle, можно найти в дорожной карте плагина Android Gradle .

Подробную информацию о настройке сборок Android с помощью Gradle см. на следующих страницах:

Для получения дополнительной информации о системе сборки Gradle см. руководство пользователя Gradle .

Обновите плагин Android Gradle.

При обновлении Android Studio может появиться запрос на автоматическое обновление плагина Android Gradle до последней доступной версии. Вы можете принять обновление или указать версию вручную в соответствии с требованиями сборки вашего проекта.

Версию плагина можно указать либо в меню «Файл > Структура проекта > Проект» в Android Studio, либо в файле build.gradle.kts верхнего уровня. Версия плагина применяется ко всем модулям, собранным в этом проекте Android Studio. В следующем примере версия плагина устанавливается на 8.13.2 из файла build.gradle.kts :

Котлин

plugins {
    id("com.android.application") version "8.13.2" apply false
    id("com.android.library") version "8.13.2" apply false
    id("org.jetbrains.kotlin.android") version "2.2.21" apply false
}

Классный

plugins {
    id 'com.android.application' version '8.13.2' apply false
    id 'com.android.library' version '8.13.2' apply false
    id 'org.jetbrains.kotlin.android' version '2.2.21' apply false
}

Внимание: Не следует использовать динамические зависимости в номерах версий, например, 'com.android.tools.build:gradle:8.13.+' . Использование этой функции может привести к неожиданным обновлениям версий и затруднить разрешение различий в версиях.

Если указанная версия плагина не была загружена, Gradle загрузит её при следующей сборке проекта или при нажатии кнопки «Файл» > «Синхронизировать проект с файлами Gradle» в строке меню Android Studio.

Обновить Gradle

При обновлении Android Studio может появиться запрос на обновление Gradle до последней доступной версии. Вы можете принять обновление или указать версию вручную в соответствии с требованиями сборки вашего проекта.

В таблице ниже указано, какая версия Gradle требуется для каждой версии плагина Android Gradle. Для достижения наилучшей производительности следует использовать последнюю возможную версию как Gradle, так и плагина.

Версия плагина Минимально необходимая версия Gradle
8.13 8.13
8.12 8.13
8.11 8.13
8.10 8.11.1
8.9 8.11.1
8.8 8.10.2
8.7 8.9
8.6 8.7
8.5 8.7
8.4 8.6
8.3 8.4
8.2 8.2
8.1 8.0
8.0 8.0

Более старые версии

Версия плагина Требуемая версия Gradle
7.4 7.5
7.3 7.4
7.2 7.3.3
7.1 7.2
7.0 7.0
4.2.0+ 6.7.1
4.1.0+ 6.5+
4.0.0+ 6.1.1+
3.6.0 - 3.6.4 5.6.4+
3.5.0 - 3.5.4 5.4.1+
3.4.0 - 3.4.3 5.1.1+
3.3.0 - 3.3.3 4.10.1+
3.2.0 - 3.2.1 4.6+
3.1.0+ 4.4+
3.0.0+ 4.1+
2.3.0+ 3.3+
2.1.3 - 2.2.3 2.14.1 - 3.5
2.0.0 - 2.1.2 2.10 - 2.13
1.5.0 2.2.1 - 2.13
1.2.0 - 1.3.1 2.2.1 - 2.9
1.0.0 - 1.1.3 2.2.1 - 2.3

Версию Gradle можно указать либо в меню File > Project Structure > Project в Android Studio, либо обновить версию Gradle с помощью командной строки. Предпочтительный способ — использовать инструмент командной строки Gradle Wrapper , который обновляет скрипты gradlew . В следующем примере версия Gradle устанавливается на 8.13 с помощью Gradle Wrapper. Обратите внимание, что для обновления как Gradle, так и самого Gradle Wrapper необходимо выполнить эту команду дважды (подробнее см. раздел «Обновление Gradle Wrapper »).

gradle wrapper --gradle-version 8.13

Однако в некоторых случаях это может не сработать, например, если вы только что обновили AGP, и он больше не совместим с текущей версией Gradle. В этом случае вам необходимо отредактировать ссылку на дистрибутив Gradle в файле gradle/wrapper/gradle-wrapper.properties . В следующем примере версия Gradle устанавливается на 8.13 в файле gradle-wrapper.properties .

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.13-bin.zip
...

Совместимость с плагином Android Gradle и Android Studio.

Система сборки Android Studio основана на Gradle, а плагин Android Gradle (AGP) добавляет несколько функций, специфичных для сборки приложений Android. В следующей таблице указано, какая версия AGP требуется для каждой версии Android Studio.

версия Android Studio Требуемая версия AGP
Обновление функционала Otter 2 | 2025.2.2 4.0-8.13
Выдра | 2025.2.1 4.0-8.13
Обновление Narwhal 4 | 04.01.2025 4.0-8.13
Обновление Narwhal 3 | 03.01.2025 4.0-8.13
Выпуск новой функции «Нарвал» | 2025.1.2 4.0-8.12
Нарвал | 2025.1.1 3.2-8.11
Обновление функционала Meerkat | 2.03.2024 3.2-8.10
Сурикаты | 2024.3.1 3.2-8.9

Более старые версии

версия Android Studio Требуемая версия AGP
Обновление функционала Ladybug | 2.2.2024 3.2-8.8
Божья коровка | 2024.2.1 3.2-8.7
Обновление функционала Koala | 2.1.2024 3.2-8.6
Коала | 2024.1.1 3.2-8.5
Медузы | 2023.3.1 3.2-8.4
Игуана | 2023.2.1 3.2-8.3
Ёж | 2023.1.1 3.2-8.2
Жираф | 2022.3.1 3.2-8.1
Фламинго | 2022.2.1 3.2-8.0
Электрический угорь | 1.01.2022 3.2-7.4
Дельфин | 2021.3.1 3.2-7.3
Бурундук | 2021.2.1 3.2-7.2
Шмель | 2021.1.1 3.2-7.1
Арктическая лиса | 2020.3.1 3.1-7.0

Для получения информации о нововведениях в плагине Android Gradle см. примечания к выпуску плагина Android Gradle .

Минимальные версии инструментов для уровня Android API

Существуют минимальные версии Android Studio и AGP, поддерживающие определенный уровень API. Использование более старых версий Android Studio или AGP, чем требуется для targetSdk или compileSdk вашего проекта, может привести к непредвиденным проблемам. Мы рекомендуем использовать последнюю предварительную версию Android Studio и AGP для работы над проектами, ориентированными на предварительные версии ОС Android. Вы можете установить предварительные версии Android Studio вместе со стабильной версией .

Минимальные версии Android Studio и AGP следующие:

Уровень API Минимальная версия Android Studio Минимальная версия AGP
36.1 Обновление Narwhal 3 | 03.01.2025 8.13.0
36.0 Сурикат | Патч 1, версия 2024.3.1 8.9.1
35 Обновление функционала Koala | 2024.2.1 8.6.0
34 Ёж | 2023.1.1 8.1.1
33 Фламинго | 2022.2.1 7.2

Изменения в версионировании (ноябрь 2020 г.)

Мы обновляем нумерацию версий плагина Android Gradle (AGP), чтобы она более точно соответствовала используемому инструменту сборки Gradle.

Вот основные изменения:

  • Теперь AGP будет использовать семантическое версионирование, и изменения, нарушающие обратную совместимость, будут включены в основные релизы.

  • Ежегодно будет выпускаться одна основная версия AGP, приуроченная к основному релизу Gradle.

  • После AGP 4.2 выйдет версия 7.0, для которой потребуется обновление до Gradle версии 7.x. Каждый крупный релиз AGP потребует обновления основной версии базового инструмента Gradle.

  • API-интерфейсы будут объявлены устаревшими примерно за год до официального обновления, при этом одновременно будет предоставлена ​​новая функциональность. Устаревшие API-интерфейсы будут удалены примерно через год во время последующего крупного обновления.

Плагин Android Gradle 8.13.2

Поддержка Kotlin 2.3 : плагин Android Gradle 8.13.2 использует R8 8.13.19, который поддерживает Kotlin 2.3 .

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

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

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

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

Плагин Android Gradle 8.13.2

Исправлены ошибки
плагин Android Gradle
Для работы AAPT2 из AGP 8.12.0 требуются SSSE3 и SSE4_1, которые не поддерживаются сборочным сервером F-Droid.
Уменьшитель (R8)
Поддержка Kotlin 2.3: обновите библиотеку kotlin-metadata-jvm до версии 2.2.10.
Метод RemoveVerificationErrorForUnknownReturnedValues ​​может привести к ошибкам проверки блокировки.

Android Gradle plugin 8.13.1

Исправлены ошибки
плагин Android Gradle
Новые идентификаторы ресурсов из графа навигации не были разрешены в процессе инкрементной компиляции.
compileSdkSpec.minorApiLevel не работает с SettingsExtension
Уменьшитель (R8)
Приложение аварийно завершает работу во время выполнения с ошибкой java.lang.VerifyError при использовании R8 8.11 и более поздних версий.
Использование ApiModeling приводит к сбою SurfaceTexture во время выполнения программы.
Оптимизированное сжатие ресурсов завершается ошибкой java.lang.StringIndexOutOfBoundsException, когда имя класса заканчивается на $.
Возможная ошибка во время выполнения: дедупликация методов R8 + кэш интерпретатора ART приводит к несоответствию суперклассов.
D8 удаляет используемое поле.
AGP 8.13.0: r8 завершается с ошибкой: R8: java.lang.NullPointerException: Невозможно вызвать "Object.getClass()", поскольку "<local7>" равен null.
Некоторые атрибуты SourceFile в r8lib.jar некорректны.
В версиях R8, поставляемых с AGP 8.12.0 и выше, может возникать ошибка нехватки памяти при использовании Play Billing 8.0.0.
R8 нарушает работу встроенных функций и приостанавливает их выполнение.
Недопустимый код, созданный после оптимизации с помощью R8 8.11.18

Плагин Android Gradle 8.13.0

Исправлены ошибки
Плагин Android Gradle
При создании AAR-файла запускайте задачу CheckAarMetadataTask в проектах библиотек.
Плагин Fused Library не может обрабатывать ссылки на ресурсы из внешней библиотеки.
Плагин Fused Library должен позволять использовать overrideLibrary.
Измените значение targetSdk по умолчанию для приложения, чтобы оно основывалось на compileSdk вместо minSdk.
`com.android.kotlin.multiplatform.library` аварийно завершает работу при использовании Gradle Managed Devices.
Уменьшитель (R8)
ClassCastException from impossible class with R8
ArrayIndexOutOfBoundsException: Индекс 0 выходит за пределы допустимого диапазона при длине 0 начиная с версии 8.10.0
Анализ шаблонов в API enableExperimentalPartialShrinking очень строгий.