Library Play Core memungkinkan Anda menguji kemampuan aplikasi untuk melakukan hal berikut secara lokal, tanpa terhubung ke Play Store:
- Meminta dan memantau penginstalan modul.
- Menangani error penginstalan.
- Menggunakan
SplitCompat
untuk mengakses modul.
Halaman ini menjelaskan cara men-deploy APK terpisah di aplikasi Anda ke perangkat pengujian agar Play Core secara otomatis menggunakan APK tersebut untuk membuat simulasi permintaan, download, dan penginstalan modul dari Play Store.
Meskipun tidak perlu melakukan perubahan pada logika aplikasi, Anda harus memenuhi persyaratan berikut:
- Download dan instal versi terbaru
bundletool
. Anda perlubundletool
untuk membuat kumpulan APK baru yang dapat diinstal dari paket aplikasi Anda. - Pastikan aplikasi Anda menggunakan Play Core 1.7.2 atau yang lebih tinggi. Untuk mempelajari lebih lanjut, lihat Menyertakan Library Play Core di project Anda.
Membuat kumpulan APK
Jika Anda belum melakukannya, buat APK terpisah di aplikasi Anda, seperti berikut:
- Buat app bundle untuk aplikasi Anda menggunakan salah satu metode berikut:
- Gunakan Android Studio dan plugin Android untuk Gradle guna membuat dan menandatangani Android App Bundle.
- Buat app bundle dari command line.
Gunakan
bundletool
untuk membuat kumpulan APK untuk semua konfigurasi perangkat dengan perintah berikut:bundletool build-apks --local-testing --bundle my_app.aab --output my_app.apks
Tanda --local-testing
menyertakan meta-data dalam manifes APK yang
memungkinkan library Play Core mengetahui cara menggunakan APK terpisah lokal untuk menguji
penginstalan modul fitur, tanpa terhubung ke Play Store.
Men-deploy aplikasi Anda ke perangkat
Setelah Anda membuat kumpulan APK menggunakan tanda --local-testing
,
gunakan bundletool
untuk menginstal versi dasar aplikasi Anda dan mentransfer APK
tambahan ke penyimpanan lokal perangkat Anda. Anda dapat melakukan kedua tindakan tersebut dengan
perintah berikut:
bundletool install-apks --apks my_app.apks
Sekarang, saat Anda memulai aplikasi dan menyelesaikan alur penggunaan untuk mendownload dan menginstal
modul fitur, Library Play Core menggunakan APK yang ditransfer bundletool
ke penyimpanan lokal perangkat.
Membuat simulasi error jaringan
Untuk membuat simulasi penginstalan modul dari Play Store, Library Play Core menggunakan
alternatif SplitInstallManager
, yang disebut FakeSplitInstallManager
, untuk meminta modul. Saat Anda menggunakan bundletool
dengan tanda --local-testing
untuk membuat kumpulan APK dan men-deploy-nya ke perangkat pengujian, tindakan itu
menyertakan metadata yang menginstruksikan Library Play Core untuk secara otomatis mengganti
panggilan API aplikasi Anda guna mengaktifkan FakeSplitInstallManager
, bukan
SplitInstallManager
.
FakeSplitInstallManager
menyertakan tanda boolean yang dapat Anda aktifkan untuk
membuat simulasi error jaringan saat aplikasi Anda meminta untuk menginstal modul lagi. Untuk
mengakses FakeSplitInstallManager
dalam pengujian, Anda bisa mendapatkan instance
menggunakan
FakeSplitInstallManagerFactory
,
seperti yang ditunjukkan di bawah ini:
Kotlin
// Creates an instance of FakeSplitInstallManager with the app's context. val fakeSplitInstallManager = FakeSplitInstallManagerFactory.create(context) // Tells Play Core Library to force the next module request to // result in a network error. fakeSplitInstallManager.setShouldNetworkError(true)
Java
// Creates an instance of FakeSplitInstallManager with the app's context. FakeSplitInstallManager fakeSplitInstallManager = FakeSplitInstallManagerFactory.create(context); // Tells Play Core Library to force the next module request to // result in a network error. fakeSplitInstallManager.setShouldNetworkError(true);