Плагин Android Gradle 7.2.0 (май 2022 г.)

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

7.2.2 (август 2022 г.)

Это небольшое обновление соответствует выпуску Android Studio Chipmunk Patch 2 и включает в себя следующие исправления ошибок:

  • Проблема № 232438924 : AndroidGradlePlugin версии 7.2 нарушает работу API преобразования при использовании вместе с API ASM.
  • Проблема № 231037948 : AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
7.2.1 (май 2022 г.)

Это небольшое обновление соответствует выпуску Android Studio Chipmunk Patch 1 и включает в себя следующие исправления ошибок:

Чтобы узнать о других исправлениях ошибок, включенных в этот выпуск, см . заметки о выпуске 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 и проверка в 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
  }
}

Дублирование корней контента не поддерживается.

Начиная с AGP 7.2, вы больше не можете использовать один и тот же исходный каталог для нескольких наборов исходных кодов. Например, вы не можете использовать одни и те же исходные коды для модульных тестов и инструментальных тестов. Подробнее см. в разделе Изменение конфигураций наборов исходных кодов по умолчанию .