Чтобы создать 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
. - Создайте профиль, выполнив следующий код:
./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
.