Prevod AAB na APK online: Čo tento nástroj skutočne robí
Android App Bundle (.aab) je formát, ktorý služba Google Play vyžaduje od vývojárov, ale nie je to niečo, čo si môžete nainštalovať do telefónu. Ak máte súbor .aab zo zostavovacieho servera, kanála CI alebo od kolegu, musíte ho najskôr zmeniť na inštalovateľný súbor .apk. Táto stránka vám ponúka dve veci pre túto úlohu: interaktívny Zostavovač príkazov AAB na APK, ktorý zapíše presný príkaz bundletool pre váš operačný systém, a Prieskumník súborov AAB, ktorý otvorí balík vo vašom prehliadači, takže pred konverziou uvidíte, čo je vo vnútri.
Samotná konverzia prebieha cez oficiálny bundletool od Googlu, čo je Java program. Keďže bundletool potrebuje runtime Java a prístup k vášmu úložisku kľúčov, skutočný krok zostavenia prebieha na vašom vlastnom počítači, nie na našich serveroch. Váš súbor .aab sa nikdy nikam neodovzdá. Tvorca jednoducho odstráni dohady, takže namiesto zapamätania si názvov vlajok môžete skopírovať správny príkaz pripravený na spustenie.
AAB vs APK: Prečo nemôžete len premenovať súbor
Mnoho ľudí hľadá, ako zmeniť AAB na APK premenovaním rozšírenia, a nikdy to nefunguje. Súbor .apk je jediný samostatný balík, ktorý môže Android nainštalovať priamo. .aab je publikačný kontajner: obsahuje váš skompilovaný kód a zdroje rozdelené do modulov a očakáva, že z neho Google Play alebo bundletool vygenerujú konečné súbory APK optimalizované pre zariadenie. Premenovaním súboru sa tieto moduly nerozbalia ani nič nepodpíše, takže Android ho odmietne nainštalovať. Jediným spoľahlivým spôsobom, ako previesť Android App Bundle do APK, je nechať bundletool zostaviť sadu APK za vás.
Ako previesť AAB na APK na Windows, Mac a Linux
Kroky sú rovnaké na každej platforme a mení sa iba štýl cesty k súboru, preto má nástroj na tvorbu príkazov vyššie prepínač Windows, macOS a Linux. Tu je úplný postup od začiatku do konca:
- Nainštalujte Java JDK 8 alebo novší. Spustite java -version v termináli, aby ste sa uistili, že Java je na vašej ceste PATH.
- Stiahnite si bundletool. Získajte najnovšiu verziu bundletool-all.jar z oficiálnej stránky GitHub spoločnosti Google.
- Zostavte súpravu APK. Nasmerujte nástroj bundletool na váš balík a nechajte ho vytvoriť archív .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Otvorte archív .apks. Je to len súbor ZIP, takže ho rozbaľte a vo vnútri nájdete universal.apk.
- Nainštalujte do svojho zariadenia. Skopírujte súbor APK do telefónu a načítajte ho zboku, alebo použite bundletool install-apks so zariadením pripojeným cez USB.
Univerzálny súbor APK vs rozdelené súbory APK: Ktorý z nich by ste mali zostaviť?
Ak chcete jeden súbor, ktorý sa nainštaluje na ľubovoľný telefón, použite --mode=universal. Toto vytvára jediný univerzálny súbor APK z vášho AAB, ktorý spája každú architektúru CPU, hustotu obrazovky a jazyk do jedného balíka. Je väčší, ale je to najjednoduchšia možnosť na testovanie, archiváciu alebo zdieľanie zostavy mimo Obchod Play. Ak režim vynecháte, bundletool namiesto toho vytvorí rozdelené súbory APK, ktoré sú orezané pre jedno konkrétne zariadenie, takže sa stiahnu menšie, ale musíte nainštalovať zodpovedajúcu sadu spolu. Pre väčšinu ľudí, ktorí potrebujú len previesť .aab pre rýchlu inštaláciu, je univerzálny APK tou správnou voľbou.
Podpísanie súboru APK, ktorý získate od AAB
Android nenainštaluje súbor APK, pokiaľ nie je podpísaný. Na testovanie môže bundletool automaticky podpisovať ladiacim kľúčom, čo je presne to, čo robí možnosť „Použiť úložisko ladiacich kľúčov“ v nástroji. Ak pripravujete zostavenie vydania, napríklad na distribúciu na svojej vlastnej webovej lokalite, podpíšte ho pomocou vlastného úložiska kľúčov vyplnením polí cesty k úložisku kľúčov, hesla úložiska kľúčov, aliasu kľúča a hesla kľúča. Tvorca potom pridá príznaky --ks, --ks-pass, --ks-key-alias a --key-pass, takže súbor APK, ktorý získate, nesie váš skutočný produkčný podpis namiesto jednorazového ladiaceho.
Bežné chyby bundletoolu a ako ich opraviť
Znovu a znovu sa vynárajú dva problémy. Správa "bundletool: príkaz nenájdený" znamená, že ste sa pokúsili spustiť nástroj bundletool, ako keby to bol vstavaný príkaz. Je to súbor JAR, takže ho vždy voláte pomocou java -jar bundletool-all.jar. Chyba „Žiadny kľúč/certifikát“ znamená, že chýbajú podrobnosti o podpise: buď pridajte --mode=universal pre nepodpísanú testovaciu zostavu, alebo zadajte príznaky úložiska kľúčov, ako je opísané vyššie. Karta Riešenie problémov vyššie na stránke obsahuje viac z nich a AAB Explorer vám umožní potvrdiť, že váš balík skutočne obsahuje moduly, ktoré očakávate, skôr než budete tráviť čas ladením príkazu.
Kedy by ste vlastne potrebovali konvertovať AAB?
Zvyčajnými dôvodmi je testovanie zostavy vydania na skutočnom zariadení pred zverejnením, odovzdanie zostavy testerovi, ktorý nepoužíva službu Google Play, uchovávanie inštalovateľnej kópie vašej vlastnej aplikácie pre vaše záznamy alebo spustenie kontroly kvality na hardvéri, ktorý interné testovanie Obchodu Play nedosahuje. Bez ohľadu na dôvod konvertujte iba balíky aplikácií, ktoré máte právo používať, ako sú vaše vlastné zostavy alebo balíky, s ktorými máte jasné povolenie pracovať.