Az AAB konvertálása APK Online formátumba: Mit csinál ez az eszköz valójában
Az Android App Bundle (.aab) formátuma a Google Play felkéri a fejlesztők feltöltését, de ezt nem lehet telefonra telepíteni. Ha van egy .aab fájlja egy build-kiszolgálóról, egy CI-folyamatról vagy egy kollégától, először telepíthető .apk-fájllá kell alakítania. Ez az oldal két dolgot ad ehhez a munkához: egy interaktív AAB–APK parancskészítő-t, amely pontosan megírja az operációs rendszeréhez tartozó bundletool parancsot, és egy AAB fájlkezelő-t, amely megnyitja a csomagot a böngészőben, így a konvertálás előtt láthatja, mi van benne.
Maga az átalakítás a Google hivatalos bundletool programján keresztül fut, amely egy Java program. Mivel a bundletoolnak szüksége van a Java futási környezetre és a kulcstárolóhoz való hozzáférésre, a tényleges összeállítási lépés a saját gépén történik, nem a szervereinken. Az .aab fájl soha nem töltődik fel sehova. Az építő egyszerűen eltávolítja a találgatásokat, így a zászlónevek memorizálása helyett helyes, futtatásra kész parancsot másolhat.
AAB vs APK: Miért nem lehet egyszerűen átnevezni a fájlt?
Sokan keresik, hogyan lehet az AAB-t APK-ra módosítani a bővítmény átnevezésével, de ez soha nem működik. Az .apk egyetlen, önálló csomag, amelyet az Android közvetlenül telepíthet. Az .aab egy közzétételi tároló: tartalmazza a lefordított kódot és az erőforrásokat modulokra bontva, és azt várja, hogy a Google Play vagy a bundletool generálja belőle a végső, eszközre optimalizált APK-kat. A fájl átnevezése nem csomagolja ki a modulokat, és nem ír alá semmit, így az Android nem hajlandó telepíteni. A Android App Bundle csomagból APK-ba konvertálásának egyetlen megbízható módja, ha hagyja, hogy a bundletool elkészítse az APK-készletet az Ön számára.
Az AAB konvertálása APK-ba Windows, Mac és Linux rendszeren
A lépések minden platformon ugyanazok, és csak a fájl elérési út stílusa változik, ezért a fenti parancskészítő rendelkezik Windows, macOS és Linux kapcsolóval. Íme a teljes folyamat az elejétől a végéig:
- Telepítse a Java JDK 8 vagy újabb verzióját. Futtassa a java -version-t egy terminálon, hogy megbizonyosodjon arról, hogy a Java a PATH-on van.
- Bundletool letöltése. Szerezd meg a legújabb bundletool-all.jar-t a Google hivatalos GitHub kiadási oldaláról.
- Építsd meg az APK-készletet. Helyezze a csomagot a csomagra, és hagyja, hogy .apks archívumot hozzon létre: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Nyissa meg az .apks archívumot. Ez csak egy ZIP fájl, ezért bontsa ki, és megtalálja benne a universal.apk-t.
- Telepítse a készülékére. Másolja az APK-t telefonjára, és töltse be oldalra, vagy használja a bundletool install-apks-t USB-n keresztül csatlakoztatott eszközzel.
Univerzális APK vs Split APK: melyiket érdemes elkészíteni?
Ha egyetlen fájlt szeretne telepíteni bármely telefonra, használja a --mode=universal-t. Ez egyetlen univerzális APK az AAB-ból-t épít, amely minden CPU-architektúrát, képernyősűrűséget és nyelvet egyetlen csomagba foglal. Nagyobb, de ez a legegyszerűbb lehetőség a Play Áruházon kívüli build tesztelésére, archiválására vagy megosztására. Ha elhagyja a módot, a bundletool ehelyett felosztott APK-kat állít elő, amelyek egy adott eszközhöz vannak vágva, így kisebb méretben töltik le őket, de együtt kell telepítenie a megfelelő készletet. A legtöbb ember számára, akinek csak egy .aab fájlt kell konvertálnia a gyors telepítéshez, az univerzális APK a megfelelő választás.
Az AAB-tól kapott APK aláírása
Az Android nem telepít APK-t, ha nincs aláírva. Tesztelés céljából a bundletool automatikusan alá tud írni egy hibakeresési kulccsal, pontosan ez az, amit az építőben a "Hibakeresési kulcstár használata" opció teszi. Ha kiadási összeállítást készít, például a saját webhelyén való terjesztéshez, írja alá saját kulcstárával a kulcstároló elérési út, kulcstároló jelszava, kulcsálnév és kulcsjelszó mezők kitöltésével. Az építő ezután hozzáadja a --ks, --ks-pass, --ks-key-alias és --key-pass jelzőket, így a kapott APK a valódi gyártási aláírást hordozza, nem pedig eldobható hibakeresőt.
Gyakori bundletool hibák és javításuk
Két probléma újra és újra előjön. A "bundletool: parancs nem található" üzenet azt jelenti, hogy úgy próbálta futtatni a bundletool-t, mintha az egy beépített parancs lenne. Ez egy JAR fájl, ezért mindig a java -jar bundletool-all.jar-vel hívja. A „Nincs kulcs/tanúsítvány” hiba azt jelenti, hogy hiányoznak az aláírási adatok: vagy adja hozzá a --mode=universal-t egy aláíratlan teszt buildhez, vagy adja meg a kulcstároló jelzőit a fent leírtak szerint. Az oldal feljebb található Hibaelhárítás lapja ezek közül többet fed le, az AAB Explorer pedig lehetővé teszi, hogy megbizonyosodjon arról, hogy a csomag valóban tartalmazza a várt modulokat, mielőtt időt töltene egy parancs hibakeresésével.
Mikor kell ténylegesen átalakítania egy AAB-t?
A szokásos okok közé tartozik, hogy egy kiadási buildet tesztelnek egy valós eszközön a közzététel előtt, átadják a buildet egy tesztelőnek, aki nem használja a Google Playt, megőrzi saját alkalmazásának telepíthető példányát, vagy olyan hardveren fut a minőségbiztosítás, amelyet a Play Áruház belső tesztelése nem ér el. Bármi legyen is az ok, csak azokat az alkalmazáscsomagokat alakítsa át, amelyek használatára jogosult, például saját buildjeit vagy csomagjait, amelyekhez egyértelmű engedélye van.