Android Gradle Plugin 7.2.0 (май 2022 г.)
Android Gradle plugin 7.2.0 — это крупный релиз, включающий множество новых функций и улучшений.
Это небольшое обновление соответствует выпуску патча 2 для Android Studio Chipmunk и включает в себя следующие исправления ошибок:
- Проблема #232438924 : AndroidGradlePlugin версии 7.2 нарушает работу API преобразования при использовании совместно с ASM API.
- Проблема #231037948 : AGP 7.2.0-rc01: buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
Это небольшое обновление соответствует выпуску патча 1 для Android Studio Chipmunk и включает в себя следующие исправления ошибок:
- Проблема #230361284 : bundletool некорректно упаковывает базовые профили.
Чтобы ознакомиться с другими исправлениями ошибок, включенными в этот релиз, см. примечания к выпуску Android Studio Chipmunk Patch 1 .
Совместимость
| Минимальная версия | Версия по умолчанию | Примечания | |
|---|---|---|---|
| Грэдл | 7.3.3 | 7.3.3 | Для получения более подробной информации см. раздел «Обновление Gradle» . |
| Инструменты сборки SDK | 30.0.3 | 30.0.3 | Установите или настройте инструменты сборки SDK. |
| НДК | Н/Д | 21.4.7075529 | Установите или настройте другую версию NDK. |
| JDK | 11 | 11 | Для получения более подробной информации см. раздел «Настройка версии JDK» . |
Предупреждение и проверка Jetifier в анализаторе сборки.
Теперь анализатор сборки отображает предупреждение, если в файле gradle.properties вашего проекта содержится android.enableJetifier=true . Этот флаг был введен в предыдущей версии Android Studio для включения AndroidX для библиотек, которые не поддерживают AndroidX нативно. Однако экосистема библиотек в основном перешла на нативную поддержку AndroidX, и флаг Jetifier, вероятно, больше не нужен вашему проекту. Кроме того, этот флаг может привести к замедлению сборки. Если вы видите это предупреждение, вы можете проверить в анализаторе сборки, можно ли удалить этот флаг.
Поддержка тестовых приспособлений
Начиная с Android Studio Chipmunk Beta 1, Android Studio поддерживает тестовые фикстуры как для Android, так и для Java. Дополнительную информацию о функции тестовых фикстур и способах её использования в проекте Java см. в руководстве Gradle по использованию тестовых фикстур {:.external}.
Чтобы включить тестовые фикстуры в модуле вашей библиотеки Android, добавьте следующее в файл build.gradle на уровне библиотеки:
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
} По умолчанию при публикации вашей библиотеки вместе с основной библиотекой публикуются и файлы AAR тестовых фикстур. Файл метаданных модуля Gradle будет содержать информацию, необходимую Gradle для использования нужного артефакта при запросе компонента testFixtures .
Чтобы отключить публикацию AAR-файлов тестовых наборов библиотеки в релизной версии, добавьте следующее в файл build.gradle на уровне библиотеки:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
} Для использования AAR-файлов тестовых наборов опубликованной библиотеки Android можно воспользоваться вспомогательным методом Gradle testFixtures() .
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}По умолчанию lint анализирует исходные файлы тестовых фикстур. Вы можете настроить lint так, чтобы он игнорировал исходные файлы тестовых фикстур следующим образом:
android {
lint {
ignoreTestFixturesSources true
}
}Дублирование корневых каталогов содержимого не поддерживается.
Начиная с AGP 7.2, вы больше не можете использовать один и тот же каталог исходных файлов для нескольких наборов исходных файлов. Например, вы не можете использовать одни и те же тестовые исходные файлы как для модульных тестов, так и для инструментальных тестов. Для получения дополнительной информации см. раздел «Изменение конфигурации наборов исходных файлов по умолчанию» .