Создание базовых профилей для библиотеки

Чтобы создать Baseline Profiles для библиотеки, используйте плагин Baseline Profile Gradle .

Для создания базовых профилей библиотеки используются три модуля:

  • Модуль примера приложения: содержит пример приложения, использующего вашу библиотеку.
  • Модуль библиотеки: модуль, для которого вы хотите создать профиль.
  • Модуль базового профиля: тестовый модуль, который генерирует базовые профили.

Чтобы создать базовый профиль для библиотеки, выполните следующие действия:

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

В конце задачи создания базовый профиль сохраняется в library/src/main/generated/baselineProfiles .