Tukar AAB kepada APK Dalam Talian: Apakah Fungsi Alat Ini Sebenarnya
Android App Bundle (.aab) ialah format yang Google Play minta pembangun memuat naik, tetapi ia bukan sesuatu yang boleh anda pasang pada telefon. Jika anda mempunyai fail .aab daripada pelayan binaan, saluran paip CI atau rakan sekerja, anda perlu mengubahnya menjadi .apk yang boleh dipasang terlebih dahulu. Halaman ini memberi anda dua perkara untuk kerja itu: AAB kepada pembina arahan APK interaktif yang menulis perintah bundletool yang tepat untuk sistem pengendalian anda dan Penjelajah fail AAB yang membuka berkas dalam penyemak imbas anda supaya anda boleh melihat kandungan di dalamnya sebelum anda menukarnya.
Penukaran itu sendiri dijalankan melalui bundletool rasmi Google, yang merupakan program Java. Oleh kerana bundletool memerlukan masa jalan Java dan akses kepada stor kunci anda, langkah binaan sebenar berlaku pada mesin anda sendiri, bukan pada pelayan kami. Fail .aab anda tidak pernah dimuat naik ke mana-mana. Pembina hanya mengalih keluar tekaan supaya anda boleh menyalin arahan yang betul dan sedia untuk dijalankan dan bukannya menghafal nama bendera.
AAB vs APK: Mengapa Anda Tidak Boleh Menamakan Semula Fail
Ramai orang mencari cara menukar AAB kepada APK dengan menamakan semula sambungan dan ia tidak pernah berfungsi. .apk ialah pakej tunggal serba lengkap yang boleh dipasang terus oleh Android. .aab ialah bekas penerbitan: ia menyimpan kod dan sumber terkumpul anda yang dibahagikan kepada modul dan ia menjangkakan Google Play atau bundletool menjana APK akhir yang dioptimumkan peranti daripadanya. Menamakan semula fail tidak membongkar modul tersebut atau menandatangani apa-apa, jadi Android enggan memasangnya. Satu-satunya cara yang boleh dipercayai untuk menukar Android App Bundle kepada APK ialah dengan membenarkan bundletool membina set APK untuk anda.
Cara Menukar AAB kepada APK pada Windows, Mac dan Linux
Langkah-langkahnya adalah sama pada setiap platform, dan hanya gaya laluan fail yang berubah, itulah sebabnya pembangun arahan di atas mempunyai suis Windows, macOS dan Linux. Berikut adalah aliran penuh dari awal hingga akhir:
- Pasang Java JDK 8 atau lebih baru. Jalankan java -version dalam terminal untuk mengesahkan Java berada pada PATH anda.
- Muat turun bundletool. Dapatkan bundletool-all.jar terbaharu daripada halaman keluaran rasmi GitHub Google.
- Bina set APK. Point bundletool pada bundle anda dan biarkan ia menghasilkan arkib .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Buka arkib .apks. Ia hanyalah fail ZIP, jadi ekstrak dan anda akan dapati universal.apk di dalamnya.
- Pasang pada peranti anda. Salin APK ke telefon anda dan muatkan sisi, atau gunakan bundletool install-apks dengan peranti yang disambungkan melalui USB.
APK Universal vs APK Split: Mana Yang Perlu Anda Bina?
Jika anda mahukan satu fail yang dipasang pada mana-mana telefon, gunakan --mode=universal. Ini membina satu APK universal daripada AAB anda tunggal yang menggabungkan setiap seni bina CPU, ketumpatan skrin dan bahasa ke dalam satu pakej. Ia lebih besar, tetapi ia adalah pilihan paling mudah untuk menguji, mengarkibkan atau berkongsi binaan di luar Gedung Play. Jika anda membiarkan mod keluar, bundletool sebaliknya menghasilkan APK berpecah yang dipangkas untuk satu peranti tertentu, jadi mereka memuat turun lebih kecil tetapi anda perlu memasang set padanan bersama-sama. Bagi kebanyakan orang yang hanya perlu menukar .aab untuk pemasangan pantas, APK universal ialah pilihan yang tepat.
Menandatangani APK yang Anda Dapatkan Daripada AAB
Android tidak akan memasang APK melainkan ia ditandatangani. Untuk ujian, bundletool boleh menandatangani dengan kunci nyahpepijat secara automatik, sama seperti pilihan "Gunakan stor kunci nyahpepijat" dalam pembina lakukan. Jika anda sedang menyediakan binaan keluaran, contohnya untuk mengedarkan di tapak web anda sendiri, tandatanganinya dengan stor kunci anda sendiri dengan mengisi medan stor kunci, kata laluan stor kunci, alias kunci dan kata laluan kunci. Pembina kemudian menambahkan bendera --ks, --ks-pass, --ks-key-alias dan --key-pass supaya APK yang anda peroleh membawa tandatangan pengeluaran sebenar anda dan bukannya debug buangan.
Ralat bundletool biasa dan Cara Membetulkannya
Dua masalah datang lagi dan lagi. Mesej "bundletool: command not found" bermaksud anda cuba menjalankan bundletool seolah-olah ia adalah arahan terbina dalam. Ia ialah fail JAR, jadi anda sentiasa memanggilnya dengan java -jar bundletool-all.jar. Ralat "Tiada kunci/sijil" bermakna butiran tandatangan tiada: sama ada tambah --mode=universal untuk binaan ujian yang tidak ditandatangani atau bekalkan bendera stor kunci anda seperti yang diterangkan di atas. Tab Penyelesaian Masalah di bahagian atas halaman merangkumi lebih banyak perkara ini, dan AAB Explorer membolehkan anda mengesahkan berkas anda benar-benar mengandungi modul yang anda jangkakan sebelum anda meluangkan masa menyahpepijat perintah.
Bilakah Anda Sebenarnya Perlu Menukar AAB?
Sebab biasa ialah menguji binaan keluaran pada peranti sebenar sebelum anda menerbitkan, menyerahkan binaan kepada penguji yang tidak menggunakan Google Play, menyimpan salinan apl anda yang boleh dipasang untuk rekod anda atau menjalankan QA pada perkakasan yang tidak dapat dicapai oleh ujian dalaman Gedung Play. Walau apa pun alasannya, hanya tukar app bundle yang anda berhak gunakan, seperti binaan anda sendiri atau himpunan yang anda mempunyai kebenaran yang jelas untuk digunakan.