Плагин Android Gradle 7.2.0 (май 2022 г.)
Плагин Android Gradle 7.2.0 – это крупный релиз, в котором реализовано множество новых функций и улучшений.
Это небольшое обновление соответствует выпуску Android Studio Chipmunk Patch 2 и включает следующие исправления ошибок:
- Проблема № 232438924: версия AndroidGradlePlugin 7.2 нарушает работу API преобразования при использовании вместе с ASM API
- Проблема № 231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
Это небольшое обновление соответствует выпуску Android Studio Chipmunk Patch 1 и включает следующие исправления ошибок:
- Проблема № 230361284. Инструмент bundletool неправильно упаковывает базовые профили.
Чтобы узнать об остальных исправлениях ошибок, включенных в этот выпуск, ознакомьтесь с примечаниями к выпуску Android Studio Chipmunk Patch 1.
Совместимость
| Минимальная версия | Версия по умолчанию | Примечания | |
|---|---|---|---|
| Gradle | 7.3.3 | 7.3.3 | Подробнее о том, как обновить Gradle… |
| Инструменты сборки SDK | 30.0.3 | 30.0.3 | Установите или настройте инструменты сборки SDK. |
| NDK | Н/Д | 21.4.7075529 | Установите или настройте другую версию NDK. |
| JDK | 11 | 11 | Подробнее о том, как задать версию JDK… |
Предупреждение Jetifier и проверка в Build Analyzer
Теперь в Build Analyzer показывается предупреждение, если в файле gradle.properties проекта есть android.enableJetifier=true. Этот флаг был добавлен в предыдущей версии Android Studio, чтобы включить AndroidX для библиотек, которые не поддерживают AndroidX изначально. Однако экосистема библиотек в основном перешла на поддержку AndroidX, и флаг Jetifier, вероятно, больше не нужен вашему проекту. Кроме того, этот флаг может замедлить сборку. Если вы видите это предупреждение, вы можете выполнить проверку в Build Analyzer, чтобы подтвердить, что флаг можно удалить.
Поддержка тестовых наборов
Начиная с 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
}
}
Не поддерживаются корневые папки с дублированием контента
Начиная с версии 7.2, в AGP нельзя использовать один и тот же исходный каталог в нескольких наборах исходных файлов. Например, нельзя использовать одни и те же источники для модульных и инструментальных тестов. Подробнее о том, как изменить конфигурации наборов исходных файлов по умолчанию…