Чтобы создать профили Baseline Profile для библиотеки, используйте плагин Baseline Profile Gradle.
Для создания базовых профилей библиотеки используются три модуля:
- Модуль примера приложения, в котором используется ваша библиотека.
- Модуль библиотеки – модуль, для которого нужно создать профиль.
- Модуль профиля базовой конфигурации – тестовый модуль, который генерирует профили базовой конфигурации.
Чтобы создать базовый профиль для библиотеки, выполните следующие действия:
- Создайте новый модуль
com.android.test, например:baseline-profile. - Настройте файл
build.gradle.ktsдля модуля:baseline-profile. Конфигурация по сути такая же, как и для приложения, но убедитесь, что дляtargetProjectPathзадан модуль примера приложения. - Создайте тест профиля Baseline в тестовом модуле
:baseline-profile. Оно должно быть создано специально для примера приложения и использовать все функции библиотеки. - Обновите конфигурацию в файле
build.gradle.ktssв модуле библиотеки, например:library. - Примените плагин
androidx.baselineprofile. - Добавьте зависимость
baselineProfileв модуль:baseline-profile. - Примените нужную конфигурацию плагина для потребителей, как показано в примере ниже.
- Добавьте плагин
androidx.baselineprofileв файлbuild.gradle.ktsв модуле приложения:sample-app.Kotlin
plugins { ... id("androidx.baselineprofile") }
Яркий
plugins { ... id 'androidx.baselineprofile' }
- Сгенерируйте профиль, выполнив следующий код:
./gradlew :library:generateBaselineProfile.
Kotlin
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.