为库创建基线配置文件

要为库创建基线配置文件,请使用 基线配置文件 Gradle 插件.

为库创建基线配置文件涉及三个模块

  • 示例应用程序模块:包含使用您的库的示例应用程序。
  • 库模块:要为其生成配置文件的模块。
  • 基线配置文件模块:生成基线配置文件的测试模块。

要为库生成基线配置文件,请执行以下步骤

  1. 创建一个新的 com.android.test 模块,例如,:baseline-profile
  2. 配置 :baseline-profile 模块的 build.gradle.kts 文件。 配置与应用程序的配置基本相同,但确保将 targetProjectPath 设置为示例应用程序模块。
  3. :baseline-profile 测试模块中创建基线配置文件测试。这需要针对示例应用程序,并且必须使用库的所有功能。
  4. 更新库模块(例如,:library)中 build.gradle.ktss 文件的配置。
    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.**"
        }
    }
    

    Groovy

    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 插件添加到应用程序模块 :sample-app 中的 build.gradle.kts 文件。

    Kotlin

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

    Groovy

    plugins {
        ...
        id 'androidx.baselineprofile'
    }
    
  6. 通过运行以下代码生成配置文件:./gradlew :library:generateBaselineProfile

在生成任务结束时,基线配置文件将存储在 library/src/main/generated/baselineProfiles 中。