برای ایجاد نمایه های پایه برای یک کتابخانه، از افزونه Baseline Profile Gradle استفاده کنید.
سه ماژول در ایجاد پروفایل های پایه برای یک کتابخانه وجود دارد:
- ماژول برنامه نمونه: شامل نمونه برنامه ای است که از کتابخانه شما استفاده می کند.
- ماژول کتابخانه: ماژولی که می خواهید نمایه برای آن ایجاد کنید.
- ماژول Baseline Profile: ماژول آزمایشی که پروفایل های پایه را تولید می کند.
برای ایجاد یک نمایه پایه برای یک کتابخانه، مراحل زیر را انجام دهید:
- یک ماژول
com.android.test
جدید ایجاد کنید—مثلاً:baseline-profile
. - فایل
build.gradle.kts
را برای ماژول:baseline-profile
پیکربندی کنید. پیکربندی اساساً مانند یک برنامه است ، اما مطمئن شوید کهtargetProjectPath
را روی ماژول برنامه نمونه تنظیم کنید. - یک تست Baseline Profile در ماژول تست
:baseline-profile
ایجاد کنید. این باید مختص برنامه نمونه باشد و باید از تمام عملکردهای کتابخانه استفاده کند. - پیکربندی فایل
build.gradle.ktss
را در ماژول کتابخانه بهروزرسانی کنید، بگویید:library
. - افزونه
androidx.baselineprofile
را اعمال کنید. - یک وابستگی
baselineProfile
به ماژول:baseline-profile
اضافه کنید. - همانطور که در مثال زیر نشان داده شده است، پیکربندی افزونه مصرف کننده را که می خواهید اعمال کنید.
- افزونه
androidx.baselineprofile
را به فایلbuild.gradle.kts
در ماژول برنامه:sample-app
اضافه کنید. - نمایه را با اجرای کد زیر ایجاد کنید:
./gradlew :library:generateBaselineProfile
.
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.**'
}
}
در پایان کار تولید، نمایه خط پایه در library/src/main/generated/baselineProfiles
ذخیره میشود.