Cómo crear perfiles de Baseline para una biblioteca

Para crear perfiles de Baseline para una biblioteca, usa el complemento de Gradle para perfiles de Baseline.

Hay tres módulos involucrados en la creación de perfiles de Baseline para una biblioteca:

  • Módulo de app de ejemplo: Se trata del módulo que contiene la app de ejemplo que usa tu biblioteca.
  • Módulo de biblioteca: Se trata del módulo para el que deseas generar el perfil.
  • Módulo de Perfil de Baseline: Se trata del módulo de prueba que genera los perfiles de Baseline.

Para generar un Perfil de Baseline para una biblioteca, sigue estos pasos:

  1. Crea un módulo com.android.test nuevo, por ejemplo, :baseline-profile.
  2. Configura el archivo build.gradle.kts para el módulo :baseline-profile. En esencia, la configuración es la misma que la de una app, pero asegúrate de establecer targetProjectPath en el módulo de la app de ejemplo.
  3. Crea una prueba de perfil de Baseline en el módulo de prueba de :baseline-profile. Debe ser específico de la app de ejemplo y debe usar todas las funciones de la biblioteca.
  4. Actualiza la configuración en el archivo build.gradle.ktss en el módulo de biblioteca, por ejemplo, :library.
    1. Aplica el complemento androidx.baselineprofile.
    2. Agrega una dependencia baselineProfile al módulo :baseline-profile.
    3. Aplica la configuración del plugin de consumidor que desees, como se muestra en el siguiente ejemplo.

    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. Agrega el complemento androidx.baselineprofile al archivo build.gradle.kts en el módulo de la app :sample-app.

    Kotlin

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

    Groovy

    plugins {
        ...
        id 'androidx.baselineprofile'
    }
  6. Ejecuta el siguiente código para generar el perfil: ./gradlew :library:generateBaselineProfile.

Al final de la tarea de generación, el perfil de Baseline se almacena en library/src/main/generated/baselineProfiles.