Как создать профили базовой конфигурации для библиотеки

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

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

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

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

  1. Создайте новый модуль com.android.test, например :baseline-profile.
  2. Настройте файл build.gradle.kts для модуля :baseline-profile. Конфигурация по сути такая же, как и для приложения, но убедитесь, что для targetProjectPath задан модуль примера приложения.
  3. Создайте тест профиля Baseline в тестовом модуле :baseline-profile. Оно должно быть создано специально для примера приложения и использовать все функции библиотеки.
  4. Обновите конфигурацию в файле build.gradle.ktss в модуле библиотеки, например :library.
    1. Примените плагин androidx.baselineprofile.
    2. Добавьте зависимость baselineProfile в модуль :baseline-profile.
    3. Примените нужную конфигурацию плагина для потребителей, как показано в примере ниже.

    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.**'
        }
    }
  5. Добавьте плагин androidx.baselineprofile в файл build.gradle.kts в модуле приложения :sample-app.

    Kotlin

    plugins {
        ...
        id("androidx.baselineprofile")
    }

    Яркий

    plugins {
        ...
        id 'androidx.baselineprofile'
    }
  6. Сгенерируйте профиль, выполнив следующий код: ./gradlew :library:generateBaselineProfile.

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