Per creare profili di riferimento per una libreria, utilizza la plug-in Gradle di Baseline Profile.
Sono tre i moduli coinvolti nella creazione di profili di riferimento per una biblioteca:
- Modulo app di esempio: contiene l'app di esempio che utilizza la tua raccolta.
- Modulo Libreria: il modulo per cui vuoi generare il profilo.
- Modulo Baseline Profile: il modulo di test che genera i profili di riferimento.
Per generare un profilo di riferimento per una libreria, segui questi passaggi:
- Crea un nuovo modulo
com.android.test
, ad esempio:baseline-profile
. - Configura il file
build.gradle.kts
per Modulo:baseline-profile
. La configurazione è praticamente uguale a quello di un'app, ma assicurati di impostare iltargetProjectPath
al modulo dell'app di esempio. - Crea un test del profilo di riferimento in
:baseline-profile
di Google Cloud. Deve essere specifico per l'app di esempio e utilizzare tutti le funzionalità della libreria. - Aggiorna la configurazione nel file
build.gradle.ktss
nel modulo della libreria, ad esempio:library
. - Applica il plug-in
androidx.baselineprofile
. - Aggiungi una dipendenza
baselineProfile
al Modulo:baseline-profile
. - Applica la configurazione del plug-in consumer desiderata, come illustrato nella dall'esempio seguente.
- Aggiungi il plug-in
androidx.baselineprofile
al Filebuild.gradle.kts
nel modulo dell'app:sample-app
.Kotlin
plugins { ... id("androidx.baselineprofile") }
Alla moda
plugins { ... id 'androidx.baselineprofile' }
- Genera il profilo eseguendo questo codice:
./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.**" } }
Alla moda
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.**' } }
Al termine dell'attività di generazione, il profilo di base viene archiviato in
library/src/main/generated/baselineProfiles
.