На этой странице представлены примечания к выпуску предварительных версий плагина Android Gradle (AGP).
Android Gradle plugin 9.0
Android Gradle plugin 9.0 — это новый крупный релиз AGP, вносящий изменения в API и поведение программы.
Для обновления до плагина Android Gradle версии 9.0.0-rc01 используйте помощник обновления плагина Android Gradle в Android Studio Panda | 2025.3.1.
Мастер обновления AGP помогает сохранить существующие настройки при обновлении проекта, когда это необходимо, позволяя обновить проект до AGP 9.0, даже если вы не готовы принять все новые настройки по умолчанию в AGP 9.0.
Совместимость
Максимальный уровень API Android, поддерживаемый плагином Android Gradle 9.0.0-rc01, — это уровень API 36.
Для работы плагина Android Gradle 9.0.0-rc01 требуется Gradle 9.0.0 .
| Минимальная версия | Версия по умолчанию | Примечания | |
|---|---|---|---|
| Грэдл | 9.1.0 | 9.1.0 | Для получения более подробной информации см. раздел «Обновление Gradle» . |
| Инструменты сборки SDK | 36.0.0 | 36.0.0 | Установите или настройте инструменты сборки SDK. |
| НДК | Н/Д | 28.2.13676358 | Установите или настройте другую версию NDK. |
| JDK | 17 | 17 | Для получения более подробной информации см. раздел «Настройка версии JDK» . |
В классах android DSL теперь реализованы только новые публичные интерфейсы.
За последние несколько лет мы внедрили новые интерфейсы для нашего DSL и API, чтобы лучше контролировать, какие API являются публичными. В версиях AGP 7.x и 8.x по-прежнему использовались старые типы DSL (например, BaseExtension ), которые также реализовывали новые публичные интерфейсы, чтобы сохранить совместимость по мере развития работы над интерфейсами.
AGP 9.0 использует исключительно наши новые DSL-интерфейсы, а в реализациях используются новые, полностью скрытые типы. Это также исключает доступ к старому, устаревшему API вариантов.
Для обновления до AGP 9.0 может потребоваться выполнить следующие действия:
- Убедитесь, что ваш проект совместим со встроенным Kotlin : плагин
org.jetbrains.kotlin.androidнесовместим с новым DSL. Переключитесь на плагин библиотеки Android Gradle для KMP в проектах KMP: использование плагина
org.jetbrains.kotlin.multiplatformв том же подпроекте Gradle, что и плагиныcom.android.libraryиcom.android.application, несовместимо с новым DSL.Обновите файлы сборки: хотя изменение интерфейсов призвано сохранить DSL максимально похожим, могут быть некоторые небольшие изменения .
Обновите свою пользовательскую логику сборки, чтобы она ссылалась на новый DSL и API: замените все ссылки на внутренний DSL на публичные интерфейсы DSL. В большинстве случаев это будет замена один к одному. Замените любое использование
applicationVariantsи аналогичных API на новый APIandroidComponents. Это может быть сложнее, поскольку APIandroidComponentsразработан для большей стабильности, чтобы обеспечить более длительную совместимость плагинов. Примеры смотрите в наших рецептах Gradle .Обновите сторонние плагины: некоторые сторонние плагины могут по-прежнему зависеть от интерфейсов или API, которые больше не доступны. Перейдите на версии этих плагинов, совместимые с AGP 9.0.
Переход на новые DSL-интерфейсы предотвращает использование плагинами и скриптами сборки Gradle различных устаревших API, в том числе:
Устаревший API в блоке android | Функция | Замена |
|---|---|---|
applicationVariants ,libraryVariants ,testVariants иunitTestVariants | Точки расширения для плагинов, добавляющих новые функции в AGP. | Замените это, например, на API androidComponents.onVariants :androidComponents { onVariants() { variant -> variant.signingConfig .enableV1Signing.set(false) } } |
variantFilter | Позволяет отключить выбранные варианты. | Замените это, например, на API androidComponents.beforeVariants : androidComponents { beforeVariants( selector() .withBuildType("debug") .withFlavor("color", "blue") ) { variantBuilder -> variantBuilder.enable = false } } |
deviceProvider иtestServer | Регистрация пользовательских тестовых сред для запуска тестов на устройствах и эмуляторах Android. | Переключитесь на устройства, управляемые Gradle . |
sdkDirectory ,ndkDirectory ,bootClasspath ,adbExecutable иadbExe | Использование различных компонентов Android SDK для выполнения пользовательских задач. | Переключитесь на androidComponents.sdkComponents . |
registerArtifactType ,registerBuildTypeSourceProvider ,registerProductFlavorSourceProvider ,registerJavaArtifact ,registerMultiFlavorSourceProvider иwrapJavaSourceSet | Устаревшая функциональность, в основном связанная с обработкой сгенерированных исходных файлов в Android Studio, перестала работать в AGP 7.2.0. | Прямых аналогов этим API не существует. |
dexOptions | Устаревшие настройки, связанные с инструментом dx , который был заменен на d8 . Ни одна из настроек не оказывает никакого эффекта начиная с плагина Android Gradle версии 7.0. | Прямой замены нет. |
generatePureSplits | Создавайте разделы конфигурации для мгновенных приложений. | Возможность разделять конфигурацию на отдельные компоненты теперь встроена в пакеты приложений Android. |
aidlPackagedList | Файлы AIDL для включения в AAR-архив, чтобы предоставить к нему доступ в качестве API для библиотек и приложений, зависящих от этой библиотеки. | Эта функция по-прежнему доступна для расширений типа LibraryExtension , но не для других типов расширений. |
Если после обновления до AGP 9.0 вы видите следующее сообщение об ошибке, это означает, что ваш проект по-прежнему ссылается на некоторые старые типы:
java.lang.ClassCastException: class com.android.build.gradle.internal.dsl.ApplicationExtensionImpl$AgpDecorated_Decorated
cannot be cast to class com.android.build.gradle.BaseExtension
Если вас блокируют несовместимые сторонние плагины, вы можете отказаться от них и вернуть старые реализации DSL, а также старый вариант API. При этом новые интерфейсы также будут доступны, и вы сможете обновить свою логику сборки в соответствии с новым API. Чтобы отказаться от них, добавьте следующую строку в файл gradle.properties :
android.newDsl=false
Вы также можете начать обновление до новых API до обновления до AGP 9.0. Новые интерфейсы присутствовали во многих версиях AGP, поэтому у вас может быть сочетание новых и старых. В справочной документации по API AGP показан интерфейс API для каждой версии AGP, а также дата добавления каждого класса, метода и поля.
В ходе альфа-тестирования версии 9.0 мы обращаемся к авторам плагинов с просьбой помочь им адаптировать и выпустить плагины, полностью совместимые с новыми режимами, а также усовершенствуем помощник по обновлению AGP в Android Studio, чтобы он помог вам выполнить миграцию.
Если вы обнаружите, что в новом DSL или API вариантов отсутствуют необходимые возможности или функции, пожалуйста, как можно скорее сообщите об этом, создав соответствующую проблему .
Встроенный Kotlin
В плагине Android Gradle версии 9.0 реализована встроенная поддержка Kotlin, которая включена по умолчанию. Это означает, что вам больше не нужно применять плагин org.jetbrains.kotlin.android (или kotlin-android ) в файлах сборки для компиляции исходных файлов Kotlin. Это упрощает интеграцию Kotlin с AGP, позволяет избежать использования устаревших API и в некоторых случаях повышает производительность.
Поэтому при обновлении проекта до AGP 9.0 вам также необходимо перейти на встроенный Kotlin или отказаться от него .
Вы также можете выборочно отключать встроенную поддержку Kotlin для подпроектов Gradle, которые не содержат исходный код на Kotlin.
Зависимость от плагина Kotlin Gradle во время выполнения
Для обеспечения встроенной поддержки Kotlin , плагин Android Gradle 9.0 теперь имеет зависимость от плагина Kotlin Gradle (KGP) версии 2.2.10 во время выполнения. Это означает, что вам больше не нужно указывать версию KGP, и если вы используете версию KGP ниже 2.2.10, Gradle автоматически обновит вашу версию KGP до 2.2.10. Аналогично, если вы используете версию KSP ниже 2.2.10-2.0.2, AGP обновит ее до 2.2.10-2.0.2, чтобы она соответствовала версии KGP.
Обновите KGP до более новой версии.
Для использования более новой версии KGP или KSP добавьте следующее в главный файл сборки:
buildscript {
dependencies {
// For KGP
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:KGP_VERSION")
// For KSP
classpath("com.google.devtoolsksp:symbol-processing-gradle-plugin:KSP_VERSION")
}
}
Понизьте версию KGP до более старой.
Понижение версии KGP возможно только в том случае, если вы отказались от встроенного Kotlin . Это связано с тем, что AGP 9.0 по умолчанию включает встроенный Kotlin, а для его использования требуется KGP 2.2.10 или выше.
Чтобы использовать более старую версию KGP или KSP, укажите эту версию в файле сборки верхнего уровня, используя строгое указание версии :
buildscript {
dependencies {
// For KGP
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") {
version { strictly("KGP_VERSION") }
}
// For KSP
classpath("com.google.devtoolsksp:symbol-processing-gradle-plugin") {
version { strictly("KSP_VERSION") }
}
}
}
Обратите внимание, что минимальная версия KGP, до которой можно откатиться, — 2.0.0.
Поддержка тестовых стендов в IDE
AGP 9.0 обеспечивает полную поддержку тестовых наборов в среде разработки Android Studio.
Плагин объединенной библиотеки
Плагин Fused Library (предварительная версия) позволяет публиковать несколько библиотек в виде единого Android Library AAR-файла. Это может упростить пользователям использование опубликованных вами артефактов.
Для получения информации о начале работы см. раздел «Публикация нескольких библиотек Android как одной с помощью Fused Library» .
Изменения в поведении
В плагине Android Gradle версии 9.0 появились следующие новые возможности:
| Поведение | Рекомендация |
|---|---|
В плагине Android Gradle версии 9.0 по умолчанию используется версия NDK r28c . | Рекомендуется явно указать версию NDK, которую вы хотите использовать. |
| В плагине Android Gradle версии 9.0 по умолчанию требуется, чтобы пользователи библиотеки использовали ту же или более новую версию SDK для компиляции. | Используйте тот же или более новый SDK компиляции при работе с библиотекой. Если это невозможно, или вы хотите дать пользователям опубликованной вами библиотеки больше времени на переключение, явно установите параметр AarMetadata.minCompileSdk . |
В AGP 9.0 внесены изменения в значения по умолчанию для следующих свойств Gradle. Это позволяет сохранить поведение AGP 8.13 при обновлении:
| Свойство | Функция | Переход с AGP 8.13 на AGP 9.0 | Рекомендация |
|---|---|---|---|
android. newDsl | Используйте новые DSL-интерфейсы, не раскрывая устаревшие реализации блока android .Это также означает, что устаревший API для работы с вариантами приложений, такой как android.applicationVariants , больше недоступен. | false → true | Вы можете отказаться от этого, установив параметр android.newDsl=false .После того, как все плагины и логика сборки, используемые вашим проектом, будут совместимы, удалите опцию отказа от участия. |
android. builtInKotlin | Включает встроенные функции Kotlin. | false → true | По возможности перейдите на встроенный Kotlin или откажитесь от него . |
android. uniquePackage Names | Обеспечивает наличие у каждой библиотеки уникального имени пакета. | false → true | Укажите уникальные имена пакетов для всех библиотек в вашем проекте. Если это невозможно, вы можете отключить этот флаг во время миграции. |
android. useAndroidx | По умолчанию используются зависимости androidx . | false → true | Используйте зависимости androidx . |
android. default. androidx. test. runner | По умолчанию тесты на устройстве запускаются с помощью класса androidx.test.runner.AndroidJUnitRunner , заменяя устаревший класс InstrumentationTestRunner по умолчанию. android {
defaultConfig {
testInstrumentationRunner = "..."
}
} | false → true | Используйте AndroidJUnitRunner или явно укажите свой собственный testInstrumentationRunner . |
android. dependency. useConstraints | Управляет использованием ограничений зависимостей между конфигурациями. В AGP 9.0 по умолчанию установлено значение false , что означает использование ограничений только в тестах приложений на устройствах (AndroidTest). Установка значения true вернет поведение версии 8.13. | true → false | Не используйте ограничения зависимостей везде, если в этом нет необходимости. Принятие нового значения по умолчанию для этого флага также включает оптимизацию процесса импорта проекта, что должно сократить время импорта для сборок с большим количеством подпроектов библиотек Android. |
android. enableApp CompileTime RClass | Компиляция кода в приложениях с использованием нефинального класса R приводит компиляцию приложения в соответствие с компиляцией библиотеки. Это повышает эффективность поэтапного внедрения и открывает путь для будущей оптимизации производительности процесса обработки ресурсов. | false → true | Во многих проектах можно просто перенять новое поведение без изменений в исходном коде. Если поля класса R используются где-либо, где требуется константа, например, в операторах switch, следует провести рефакторинг, используя цепочки операторов if. |
android. sdk. defaultTargetSdk ToCompileSdk IfUnset | В приложениях и тестах в качестве значения по умолчанию для целевой версии SDK используется версия скомпилированного SDK. До внесения этого изменения целевая версия SDK по умолчанию устанавливалась на минимальную версию SDK. | false → true | Для приложений и тестов явно укажите целевую версию SDK. |
android. onlyEnableUnitTest ForTheTested BuildType | Создаёт компоненты модульных тестов только для тестируемого типа сборки. В проекте по умолчанию это приводит к созданию одного модульного теста для отладки, тогда как ранее модульные тесты запускались либо для отладки, либо для выпуска. | false → true | Если в вашем проекте не требуется запуск тестов как в режиме отладки, так и в режиме выпуска, никаких изменений не требуется. |
android. proguard. failOnMissingFiles | Сборка завершается с ошибкой, если какой-либо из файлов, указанных в AGP DSL, отсутствует на диске. До этого изменения опечатки в именах файлов приводили к тому, что файлы игнорировались без предупреждения. | false → true | Удалите все недействительные объявления файлов ProGuard. |
android. r8. optimizedResourceShrinking | Позволяет R8 использовать меньше ресурсов Android, рассматривая классы и ресурсы Android совместно. | false → true | Если правила сохранения данных в вашем проекте уже настроены, никаких изменений не требуется. |
android. r8. strictFullMode ForKeepRules | Это позволяет R8 сохранять меньше элементов, не сохраняя неявно конструктор по умолчанию, когда класс сохраняется. То есть, -keep class A больше не подразумевает -keep class A { <init>(); } | false → true | Если правила сохранения данных в вашем проекте уже настроены, никаких изменений не требуется. Замените -keep class A на -keep class A { <init>(); } в правилах сохранения в вашем проекте для тех случаев, когда необходимо сохранить конструктор по умолчанию. |
android. defaults. buildfeatures. resvalues | Включает resValues во всех подпроектах | true → false | Включите resValues только в тех подпроектах, которым это необходимо, установив следующие параметры в файлах сборки Gradle этих проектов: android {
buildFeatures {
resValues = true
}
} |
android. defaults. buildfeatures. shaders | Включает компиляцию шейдеров во всех подпроектах. | true → false | Разрешите компиляцию шейдеров только в тех подпроектах, которые содержат шейдеры, подлежащие компиляции, установив следующие параметры в файлах сборки Gradle этих проектов: android {
buildFeatures {
shaders = true
}
} |
android. r8. proguardAndroidTxt. disallowed | В AGP 9.0 getDefaultProguardFile() будет поддерживать только proguard-android-optimize.txt а не proguard-android.txt . Это сделано для предотвращения случайного использования флага dontoptimize , который включен в proguard-android.txt . | false → true | Чтобы избежать оптимизации, вы можете явно указать dontoptimize в пользовательском файле proguardFile, а также использовать файл proguard-android-optimize.txt . По возможности удалите флаг dontoptimize из этого файла, так как он снижает преимущества оптимизации R8. В противном случае откажитесь от оптимизации, установив параметр android.r8.globalOptionsInConsumerRules.disallowed=false . |
android. r8. globalOptions InConsumerRules. disallowed | Начиная с AGP 9.0, публикация библиотек и модулей функций Android будет завершаться ошибкой, если файлы keep потребителя содержат проблемные конфигурации Proguard. Файлы keep потребителя, содержащие глобальные параметры, такие как dontoptimize или dontobfuscate следует использовать только в модулях приложений, и они могут снизить преимущества оптимизации для пользователей библиотек. Компиляция модулей приложений Android будет молча игнорировать любые такие глобальные параметры, если они встроены в предварительно скомпилированную зависимость (JAR или AAR). Вы можете увидеть, когда это происходит, проверив файл configuration.txt (обычно расположенный по пути типа <app_module>/build/outputs/mapping/<build_variant>/configuration.txt ) на наличие комментариев типа: # REMOVED CONSUMER RULE: dontoptimize | false → true | Опубликованные библиотеки должны удалить все несовместимые правила. Внутренние библиотеки должны переместить все несовместимые, но необходимые правила в файл proguardFile в модуле приложения. Отключить эту опцию можно, установив параметр android.r8.globalOptionsInConsumerRules.disallowed=false . После того, как все ваши файлы keep потребителя будут совместимы, снимите опцию отключения. |
android. sourceset. disallowProvider | Запретить передачу поставщиков для сгенерированных исходных файлов с использованием DSL AndroidSourceSet . | false → true | Используйте API Sources в androidComponents для регистрации сгенерированных исходных файлов. |
android. custom. shader. path. required | Если компиляция шейдеров включена, необходимо явно указать путь к компилятору шейдеров в файле local.properties . | false → true | Добавьте glslc.dir=/path/to/shader-tools в local.properties вашего проекта. |
Удалённые функции
В плагине Android Gradle версии 9.0 удалена следующая функциональность:
- Поддержка приложений Embedded Wear OS
В AGP 9.0 прекращена поддержка встраивания приложений Wear OS, которая больше не поддерживается в Play Store. Это включает в себя удаление конфигурацийwearAppи DSLAndroidSourceSet.wearAppConfigurationName. Инструкции по публикации приложения в Wear OS см. в разделе «Распространение в Wear OS». - задача отчета
androidDependenciesиsourceSetsAndroid - Поддержка разделения по плотности APK
В AGP 9.0 удалена поддержка создания разделенных APK-файлов на основе плотности экрана. Функциональность и связанные с ней API были удалены. Для разделения APK-файлов на основе плотности экрана с использованием AGP 9.0 или более поздних версий используйте пакеты приложений .
Изменен DSL
В плагине Android Gradle версии 9.0 внесены следующие изменения в DSL, нарушающие совместимость:
Параметризация
CommonExtensionудалена.Само по себе это всего лишь изменение на уровне исходного кода, призванное предотвратить подобные изменения в будущем, но оно также означает, что методы блока необходимо перенести из
CommonExtensionвApplicationExtension,LibraryExtension,DynamicFeatureExtensionиTestExtension.При обновлении проекта до AGP 9.0 проведите рефакторинг кода плагина Gradle, использующего эти параметры или методы блоков. Например, следующий плагин обновлен таким образом, чтобы удалить параметр типа и не полагаться на удаленные методы блоков:
AGP 8.13
val commonExtension: CommonExtension<*, *, *, *, *, *> = extensions.getByType(CommonExtension::class) commonExtension.apply { defaultConfig { minSdk { version = release(28) } } }AGP 9.0
val commonExtension: CommonExtension = extensions.getByType(CommonExtension::class) commonExtension.apply { defaultConfig.apply { minSdk { version = release(28) } } }Для плагинов, ориентированных на широкий диапазон версий AGP, прямое использование геттера обеспечивает бинарную совместимость с версиями AGP ниже 9.0.
Удалён DSL
В плагине Android Gradle версии 9.0 удалены следующие изменения:
Файл
AndroidSourceSet.jniне работал.AndroidSourceSet.wearAppConfigurationName, в связи с удаленной поддержкой встроенного приложения Wear OS.BuildType.isRenderscriptDebuggable, потому что он не работал.DependencyVariantSelection. Он заменяется наDependencySelection, который доступен какkotlin.android.localDependencySelectionInstallation.installOptions(String). Оно заменяется изменяемым свойствомInstallation.installOptions.Экспериментальный, но так и не стабилизированный блок
PostProcessing.ProductFlavor.setDimensionзаменяется свойствомdimension.LanguageSplitOptions, который был полезен только для Google Play Instant , устарел.DensitySplit, поскольку эта функция больше не поддерживается. В качестве замены можно использовать App Bundles .
Удалённые API
В плагине Android Gradle версии 9.0 удалены следующие изменения:
AndroidComponentsExtension.finalizeDSl. Он заменяется наfinalizeDslComponent.transformClassesWith. Он заменяется наInstrumentation.transformClassesWithComponent.setAsmFramesComputationMode. Заменяется наInstrumentation.setAsmFramesComputationModeComponentBuilder.enabled. Заменяется наComponentBuilder.enable.DependenciesInfoBuilder.includedInApkзаменяется наincludeInApkDependenciesInfoBuilder.includedInBundleзаменяется наincludeInBundle.GeneratesApk.targetSdkVersionзаменяется наtargetSdkVariant.minSdkVersionзаменяется наminSdkVariant.maxSdkVersionзаменяется наmaxSdkVariant.targetSdkVersionзаменяется наtargetSdkVariant.unitTest, поскольку он не был применим к плагинуcom.android.test.unitTestдоступен для подтиповVariantBuilder, расширяющихHasUnitTest.VariantBuilder.targetSdkиtargetSdkPreviewне имели смысла в библиотеках. Вместо них используйтеGeneratesApkBuilder.targetSdkилиGeneratesApkBuilder.targetSdkPreview.VariantBuilder.enableUnitTestбыл недоступен для плагинаcom.android.test.enableUnitTestдоступен для подтиповVariantBuilderнаследующихHasUnitTestBuilder.VariantBuilder.unitTestEnabledудален в пользу более согласованного по названиюenableUnitTestв подтипахVariantBuilderнаследующихHasUnitTestBuilder.VariantOutput.enableзаменяется наenabled.Устаревшие и отключенные
FeaturePluginиFeatureExtension.Устаревшие и отключенные API-интерфейсы
BaseExtension.registerTransform, которые остались только для обеспечения возможности компиляции с использованием последней версии AGP при работе на AGP 4.2 или ниже.
Удалены свойства Gradle
Следующие свойства Gradle были первоначально добавлены для глобального отключения функций, которые были включены по умолчанию.
Эти функции отключены по умолчанию начиная с AGP 8.0 и ниже. Для более эффективной сборки включайте эти функции только в тех подпроектах, которые их используют.
| Свойство | Функция | Замена |
|---|---|---|
android. defaults. buildfeatures. aidl | Включает компиляцию AIDL во всех подпроектах. | Разрешите компиляцию AIDL только в тех подпроектах, где есть исходные файлы AIDL, установив следующее свойство в файлах сборки Gradle этих проектов:android {
buildFeatures {
aidl = true
}
} |
android. defaults. buildfeatures. renderscript | Включает компиляцию RenderScript во всех подпроектах. | Разрешите компиляцию RenderScript только в тех подпроектах, где есть исходные файлы RenderScript, установив следующее свойство в файлах сборки Gradle этих проектов: android {
buildFeatures {
renderScript = true
}
} |
Объекты с принудительной регулировкой уровня грунта
В AGP 9.0 возникает ошибка, если задать следующие свойства Gradle.
Плагин Android Gradle Upgrade Assistant не будет обновлять до AGP 9.0 проекты, использующие эти свойства.
| Свойство | Функция |
|---|---|
android. r8. integratedResourceShrinking | Теперь уменьшение объема ресурсов всегда выполняется в рамках R8, предыдущая реализация была удалена. |
android. enableNewResourceShrinker. preciseShrinking | Теперь при сокращении ресурсов всегда используется точное сокращение ресурсов, что позволяет удалять больше ресурсов. |
Исправлены ошибки
Android Gradle plugin 9.0.0-rc01
| Исправлены ошибки | |
|---|---|
| В AGP 9.0.0-rc01 не было отмечено ни одной исправленной проблемы, относящейся к общедоступным ресурсам. |
Android Gradle plugin 9.0.0-beta05
| Исправлены ошибки | ||
|---|---|---|
| Плагин Android Gradle |
| |
Android Gradle plugin 9.0.0-beta04
| Исправлены ошибки | |||
|---|---|---|---|
| Плагин Android Gradle |
| ||
Android Gradle plugin 9.0.0-beta03
| Исправлены ошибки | |
|---|---|
| В AGP 9.0.0-beta03 не было отмечено ни одной исправленной проблемы, относящейся к общедоступным ресурсам. |
Android Gradle plugin 9.0.0-beta02
| Исправлены ошибки | ||||
|---|---|---|---|---|
| Плагин Android Gradle |
| |||
| Ворс |
| |||
| Интеграция Lint |
| |||
Android Gradle plugin 9.0.0-beta01
| Исправлены ошибки | |
|---|---|
| В AGP 9.0.0-beta01 не было отмечено ни одной исправленной проблемы, относящейся к общедоступным ресурсам. |
Android Gradle plugin 9.0.0-alpha14
| Исправлены ошибки | |||||||
|---|---|---|---|---|---|---|---|
| Плагин Android Gradle |
| ||||||
| Интеграция Lint |
| ||||||
| Уменьшитель (R8) |
| ||||||
Android Gradle plugin 9.0.0-alpha13
| Исправлены ошибки | ||||
|---|---|---|---|---|
| Плагин Android Gradle |
| |||
Android Gradle plugin 9.0.0-alpha12
| Исправлены ошибки | |||||
|---|---|---|---|---|---|
| Плагин Android Gradle |
| ||||
Android Gradle plugin 9.0.0-alpha11
| Исправлены ошибки | ||||
|---|---|---|---|---|
| Плагин Android Gradle |
| |||
Android Gradle plugin 9.0.0-alpha10
| Исправлены ошибки | ||||
|---|---|---|---|---|
| Плагин Android Gradle |
| |||
| Ворс |
| |||
Android Gradle plugin 9.0.0-alpha09
| Исправлены ошибки | ||||
|---|---|---|---|---|
| Плагин Android Gradle |
| |||
Android Gradle plugin 9.0.0-alpha08
| Исправлены ошибки | |
|---|---|
| В AGP 9.0.0-alpha08 не было отмечено ни одной исправленной проблемы, относящейся к общедоступным ресурсам. |
Android Gradle plugin 9.0.0-alpha07
| Исправлены ошибки | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Плагин Android Gradle |
| ||||||||
Android Gradle plugin 9.0.0-alpha06
| Исправлены ошибки | |||||
|---|---|---|---|---|---|
| Плагин Android Gradle |
| ||||
| Ворс |
| ||||
Android Gradle plugin 9.0.0-alpha05
| Исправлены ошибки | |||||
|---|---|---|---|---|---|
| Плагин Android Gradle |
| ||||
| Ворс |
| ||||
Android Gradle plugin 9.0.0-alpha04
| Исправлены ошибки | ||||
|---|---|---|---|---|
| Плагин Android Gradle |
| |||
| Ворс |
| |||
Android Gradle plugin 9.0.0-alpha03
| Исправлены ошибки | ||||
|---|---|---|---|---|
| Плагин Android Gradle |
| |||
| Ворс |
| |||
Android Gradle plugin 9.0.0-alpha02
| Исправлены ошибки | ||||
|---|---|---|---|---|
| Плагин Android Gradle |
| |||
Android Gradle plugin 9.0.0-alpha01
| Исправлены ошибки | |||||||
|---|---|---|---|---|---|---|---|
| Плагин Android Gradle |
| ||||||