Tạo cấu hình cơ sở

Stay organized with collections Save and categorize content based on your preferences.

Là một nhà phát triển ứng dụng, bạn có thể tự động tạo cấu hình cho mọi bản phát hành ứng dụng bằng cách sử dụng thư viện Jetpack MacrobenchmarkBaselineProfileRule. Bạn nên sử dụng com.android.tools.build:gradle:7.3.0 trở lên để cải thiện bản dựng khi dùng Cấu hình cơ sở.

Cách tạo cấu hình cơ sở bằng thư viện Macrobenchmark:

  1. Thiết lập mô-đun Macrobenchmark trong dự án Gradle của bạn.

  2. Xác định kiểm thử mới có tên là BaselineProfileGenerator giống như:

    @OptIn(ExperimentalBaselineProfilesApi::class)
    class TrivialBaselineProfileBenchmark {
        @get:Rule
        val baselineProfileRule = BaselineProfileRule()
    
        @Test
        fun startup() = baselineProfileRule.collectBaselineProfile(
            packageName = "com.example.app",
            profileBlock = {
                startActivityAndWait()
            }
        )
    }
    

    Xem một số ví dụ khác về các cuộc kiểm thử sử dụng @BaselineProfileRule để cải thiện hành trình trọng yếu của người dùng.

  3. Để thiết lập một thiết bị do Gradle quản lý, hãy mở tệp build.gradle.kts và trong khối cấu hình testOptions, thêm managedDevices, devices rồi tạo định nghĩa về trình mô phỏng. Hãy nhớ dùng aosp làm systemImageSource vì bạn sẽ cần có quyền truy cập thư mục gốc cho trình tạo Cấu hình cơ sở.

    Kotlin

    testOptions {
        managedDevices {
            devices {
                create ("pixel6Api31", ManageVirtualDevice::class) {
                    device = "Pixel 6"
                    apiLevel = "31"
                    systemImageSource = "aosp"
                }
            }
        }
    }
    

    Groovy

    testOptions {
        managedDevices {
            devices {
                pixel6Api31(com.android.build.api.dsl.ManagedVirtualDevice) {
                    device = "Pixel 6"
                    apiLevel = 31
                    systemImageSource = "aosp"
                }
            }
        }
    }
    
  4. Gradle sẽ tạo các tác vụ cho bạn dựa trên tên thiết bị mà bạn đã chọn và các biến thể bản dựng có sẵn trong mô-đun. Tệp này có định dạng là [emulator_name][flavor][build type]AndroidTest. Bạn có thể chạy tác vụ này từ thiết bị đầu cuối, ví dụ:

    ./gradlew :benchmark:pixel2Api31BenchmarkAndroidTest
    

Áp dụng các quy tắc đã tạo

  1. Tìm cấu hình đã tạo trong [module name]/build/outputs/managed_device_android_test_additional_output/[device name]. Các cấu hình tuân theo mẫu đặt tên [class name]-[test method name]-baseline-prof.txt sẽ có dạng như sau: TrivialBaselineProfileBenchmark-startup-baseline-prof.txt

  2. Sao chép cấu hình đã tạo vào src/main/ của mô-đun ứng dụng cùng với AndroidManifest.xml. Đổi tên tệp thành baseline-prof.txt.

  3. Hãy thêm phần phụ thuộc vào thư viện ProfileInstaller trong build.gradle của ứng dụng để bật tính năng tổng hợp Cấu hình cơ sở cục bộ và trên Cửa hàng Play. Đây là cách duy nhất để tải không qua cửa hàng một Cấu hình cơ sở ở phạm vi cục bộ.

    dependencies {
         implementation("androidx.profileinstaller:profileinstaller:1.2.0")
    }
    

Ghi chú khác

Khi tạo Cấu hình cơ sở, bạn cần lưu ý một số điều sau đây:

  • Không nên làm rối mã nguồn các bản dựng điểm chuẩn. Hãy nhớ thêm -dontobfuscate vào tệp quy tắc Proguard khi tạo Cấu hình cơ sở.

  • Cấu hình cơ sở phải nhỏ hơn 1,5 MB khi đã nén. Bạn có thể xác minh kích thước của cấu hình cơ sở bằng cách định vị kích thước này trong cấu phần phần mềm đầu ra trong assets/dexopt/baseline.prof cho apk hoặc BUNDLE-METADATA/com.android.tools.build.profiles/baseline.prof cho aab.

  • Các quy tắc rộng tổng hợp quá nhiều ứng dụng có thể làm chậm quá trình khởi động do quyền truy cập ổ đĩa tăng lên. Bạn nên kiểm thử hiệu suất của cấu hình cơ sở.