Чтобы создать Baseline Profiles для библиотеки, используйте плагин Baseline Profile Gradle .
Для создания базовых профилей библиотеки используются три модуля:
- Модуль примера приложения: содержит пример приложения, использующего вашу библиотеку.
- Модуль библиотеки: модуль, для которого вы хотите создать профиль.
- Модуль базового профиля: тестовый модуль, который генерирует базовые профили.
Чтобы создать базовый профиль для библиотеки, выполните следующие действия:
- Создайте новый модуль
com.android.test, например:baseline-profile. - Настройте файл
build.gradle.ktsдля модуля:baseline-profile. Конфигурация по существу такая же, как и для приложения , но обязательно установитеtargetProjectPathв пример модуля приложения. - Создайте тест базового профиля в тестовом модуле
:baseline-profile. Это должно быть специфично для примера приложения и должно использовать все функции библиотеки. - Обновите конфигурацию в файле
build.gradle.ktssв библиотечном модуле, например:library. - Примените плагин
androidx.baselineprofile. - Добавьте зависимость
baselineProfileв модуль:baseline-profile. - Примените нужную конфигурацию потребительского плагина, как показано в следующем примере.
- Добавьте плагин
androidx.baselineprofileв файлbuild.gradle.ktsв модуле приложения:sample-app.Котлин
plugins { ... id("androidx.baselineprofile") }
классный
plugins { ... id 'androidx.baselineprofile' }
- Создайте профиль, выполнив следующий код:
./gradlew :library:generateBaselineProfile.
Котлин
plugins { id("com.android.library") id("androidx.baselineprofile") } android { ... } dependencies { ... // Add a baselineProfile dependency to the `:baseline-profile` module. baselineProfile(project(":baseline-profile")) } // Baseline Profile Gradle plugin configuration. baselineProfile { // Filters the generated profile rules. // This example keeps the classes in the `com.library` package all its subpackages. filter { include "com.mylibrary.**" } }
классный
plugins { id 'com.android.library' id 'androidx.baselineprofile' } android { ... } dependencies { ... // Add a baselineProfile dependency to the `:baseline-profile` module. baselineProfile ':baseline-profile' } // Baseline Profile Gradle plugin configuration. baselineProfile { // Filters the generated profile rules. // This example keeps the classes in the `com.library` package all its subpackages. filter { include 'com.mylibrary.**' } }
В конце задачи создания базовый профиль сохраняется в library/src/main/generated/baselineProfiles .