Převést AAB na APK online: Co tento nástroj vlastně dělá
Android App Bundle (.aab) je formát, který Google Play požaduje od vývojářů, ale není to něco, co si můžete nainstalovat do telefonu. Pokud máte soubor .aab ze sestavení serveru, kanálu CI nebo od kolegy, musíte jej nejprve převést na instalovatelný soubor .apk. Tato stránka vám pro tuto úlohu poskytuje dvě věci: interaktivní Tvůrce příkazů AAB na APK, který zapíše přesný příkaz bundletool pro váš operační systém, a Průzkumník souborů AAB, která balíček otevře ve vašem prohlížeči, abyste viděli, co je uvnitř, než jej převedete.
Samotná konverze probíhá přes oficiální bundletool společnosti Google, což je program v jazyce Java. Protože bundletool potřebuje běhové prostředí Java a přístup k vašemu úložišti klíčů, skutečný krok sestavení se odehrává na vašem vlastním počítači, nikoli na našich serverech. Váš soubor .aab se nikdy nikam nenahrává. Tvůrce jednoduše odstraní dohady, takže můžete zkopírovat správný příkaz připravený ke spuštění namísto zapamatování názvů příznaků.
AAB vs APK: Proč nemůžete jen přejmenovat soubor
Mnoho lidí hledá, jak změnit AAB na APK přejmenováním rozšíření, a nikdy to nefunguje. Soubor .apk je jediný samostatný balíček, který může Android nainstalovat přímo. .aab je vydavatelský kontejner: obsahuje váš zkompilovaný kód a zdroje rozdělené do modulů a očekává, že z něj Google Play nebo bundletool vygeneruje konečné soubory APK optimalizované pro zařízení. Přejmenování souboru tyto moduly nerozbalí ani nic nepodepíše, takže jej Android odmítne nainstalovat. Jediný spolehlivý způsob, jak převést Android App Bundle do APK, je nechat bundletool sestavit sadu APK za vás.
Jak převést AAB na APK na Windows, Mac a Linux
Kroky jsou stejné na každé platformě a mění se pouze styl cesty k souboru, proto má výše uvedený tvůrce příkazů přepínač Windows, macOS a Linux. Zde je úplný postup od začátku do konce:
- Nainstalujte Java JDK 8 nebo novější. Spuštěním java -version v terminálu potvrďte, že je Java na vaší PATH.
- Stáhněte si bundletool. Získejte nejnovější bundletool-all.jar z oficiální stránky GitHub společnosti Google.
- Sestavte sadu APK. Nasměrujte nástroj bundletool na svůj balíček a nechte jej vytvořit archiv .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Otevřete archiv .apks. Je to pouze soubor ZIP, takže jej rozbalte a uvnitř najdete universal.apk.
- Nainstalujte do zařízení. Zkopírujte soubor APK do telefonu a načtěte jej stranou, nebo použijte bundletool install-apks se zařízením připojeným přes USB.
Univerzální APK vs rozdělené APK: Který z nich byste měli postavit?
Pokud chcete jeden soubor, který se nainstaluje do libovolného telefonu, použijte --mode=universal. To vytváří jediný univerzální APK z vašeho AAB, který spojuje každou architekturu CPU, hustotu obrazovky a jazyk do jednoho balíčku. Je větší, ale je to nejjednodušší možnost pro testování, archivaci nebo sdílení sestavení mimo Obchod Play. Pokud režim ponecháte mimo, vytvoří bundletool místo toho rozdělené soubory APK, které jsou upraveny pro jedno konkrétní zařízení, takže se stahují menší, ale musíte nainstalovat odpovídající sadu společně. Pro většinu lidí, kteří potřebují pouze převést .aab pro rychlou instalaci, je univerzální APK tou správnou volbou.
Podepsání souboru APK, který získáte od AAB
Android nenainstaluje soubor APK, pokud není podepsaný. Pro testování může bundletool automaticky podepsat ladicí klíč, což je přesně to, co dělá možnost „Použít úložiště klíčů ladění“ v builderu. Pokud připravujete sestavení vydání, například pro distribuci na vašem vlastním webu, podepište jej pomocí vlastního úložiště klíčů vyplněním pole cesta úložiště klíčů, heslo úložiště klíčů, alias klíče a heslo klíče. Tvůrce pak přidá příznaky --ks, --ks-pass, --ks-key-alias a --key-pass, takže APK, které získáte, nese váš skutečný produkční podpis, nikoli ladící.
Běžné chyby bundletool a jak je opravit
Znovu a znovu se objevují dva problémy. Zpráva „bundletool: command not found“ znamená, že jste se pokusili spustit bundletool, jako by to byl vestavěný příkaz. Je to soubor JAR, takže jej vždy voláte pomocí java -jar bundletool-all.jar. Chyba „Žádný klíč/certifikát“ znamená, že chybí podrobnosti o podepisování: buď přidejte --mode=universal pro nepodepsané testovací sestavení, nebo zadejte příznaky úložiště klíčů, jak je popsáno výše. Karta Troubleshooting výše na stránce pokrývá více z nich a AAB Explorer vám umožní potvrdit, že váš balíček skutečně obsahuje moduly, které očekáváte, než budete trávit čas laděním příkazu.
Kdy byste vlastně potřebovali převést AAB?
Obvyklými důvody jsou testování sestavení vydání na skutečném zařízení před publikováním, předání sestavení testerovi, který nepoužívá Google Play, uchování instalovatelné kopie vaší vlastní aplikace pro vaši evidenci nebo provádění kontroly kvality na hardwaru, na který interní testování Obchodu Play nedosáhne. Ať už je důvod jakýkoli, převádějte pouze balíčky aplikací, které máte právo používat, jako jsou vaše vlastní sestavení nebo balíčky, se kterými máte jasné oprávnění pracovat.