Konverze apk do aab

Převod souboru APK do AAB

Vytvořte z původního projektu Android App Bundle připravený k publikování, nikoli hotový soubor APK.

Převádějte soubory APK online

Pro převod APK do AAB zatím vlastní online konvertor nemáme, ale soubory APK můžete online převést do těchto formátů:

Jak převést soubor apk do formátu aab

Google Play vyžaduje pro nové nahrávky aplikací Android App Bundles, takže vývojář může potřebovat AAB, pokud starší build existuje pouze jako APK. APK lze nainstalovat přímo, ale AAB je obvykle nutné znovu sestavit z původního Android projektu nebo jej lokálně rekonstruovat z APK.

Co je formát APK

APK je balíček aplikace pro Android, který přímo instalují telefony, tablety, zařízení Android TV a emulátory. Jedná se o archiv založený na formátu ZIP, který obsahuje zkompilovaný kód, prostředky, manifest, assets, nativní knihovny a informace o podepisování APK.

Android Studio a Android Gradle Plugin generují APK prostřednictvím Gradle úloh, jako je ./gradlew assembleRelease. Vývojáři také získávají APK z build serverů, testovacích služeb, extrakce ze zařízení a distribuce mimo Google Play. APK je instalační formát; zařízení Android neinstaluje AAB přímo.

Co je formát AAB

AAB neboli Android App Bundle je publikační balíček obsahující zkompilované moduly a prostředky aplikace. Google Play jej zpracuje na APK specifické pro dané zařízení a vybere požadovanou hustotu obrazovky, jazykové prostředky, architekturu CPU a dynamické funkce namísto doručení všeho v jednom univerzálním APK.

To může zmenšit velikost stahování a umožňuje používat Google Play Feature Delivery a Play Asset Delivery. AAB se obvykle vytváří z projektu Android Studio nebo Gradle pomocí ./gradlew bundleRelease, který běžně vytvoří app/build/outputs/bundle/release/app-release.aab. Před nahráním musí mít release build platnou konfiguraci podepisování.

Jak vytvořit AAB z původního projektu

  1. Otevřete projekt v kompatibilním Android Studio a synchronizujte jeho verze Gradle a Android Gradle Plugin. Použijte verze požadované projektem, místo abyste je bez rozmyslu aktualizovali.
  2. Ověřte application ID, version code, release dependencies, product flavors, nativní knihovny, deklarace manifestu a konfiguraci podepisování.
  3. V Android Studio vyberte Build → Generate Signed Bundle / APK, zvolte Android App Bundle, vyberte release variantu a zadejte údaje keystore a klíče. Případně spusťte z adresáře projektu ./gradlew bundleRelease.
  4. Výsledek naleznete v app/build/outputs/bundle/release/. U projektu s více moduly může být bundle umístěn v odpovídajícím výstupním adresáři daného modulu.
  5. Ověřte a otestujte bundle pomocí oficiálního nástroje Googlu bundletool. Například bundletool validate --bundle=app-release.aab zkontroluje jeho strukturu. Chcete-li vytvořit instalovatelná APK pro připojené zařízení, spusťte bundletool build-apks --bundle=app-release.aab --output=app.apks --connected-device; pokud bundletool potřebuje k podepsání vygenerovaných APK požadované možnosti keystore, zadejte je, a poté spusťte bundletool install-apks --apks=app.apks.

Android Studio je vhodná desktopová možnost, protože zachovává konfiguraci Gradle, zpracování prostředků, podepisování, build varianty a moduly dynamic-feature. bundletool je nástroj Googlu pro příkazový řádek určený k ověřování, prohlížení, vytváření a instalaci sad APK z AAB; nepřevádí libovolné hotové APK na zdrojový projekt ani na ekvivalentní bundle.

Pokud je k dispozici pouze APK

Neexistuje spolehlivý převod hotového APK na ekvivalentní AAB pomocí jediného příkazu. Kompilace, zpracování prostředků, zmenšování kódu, řešení závislostí a podepisování již proběhly a APK neobsahuje kompletní projekt Gradle potřebný k opakování těchto kroků.

U aplikace, kterou vlastníte, je rekonstrukce možná, jedná se však o nový build, nikoli o převod formátu souboru:

  1. Dekódujte prostředky a manifest pomocí apktool d app.apk -o decoded-app.
  2. Prohlédněte si dekompilovaný kód podobný jazyku Java nebo Kotlin pomocí jadx-gui app.apk. Výstup dekompilace slouží jako reference a před zkompilováním obvykle vyžaduje značné opravy.
  3. Vytvořte projekt Android Studio a obnovte strukturu balíčků, prostředky, assets, deklarace manifestu, nativní knihovny, závislosti, nastavení Gradle a všechny požadované moduly dynamic-feature.
  4. Vyřešte rozdíly v kompilaci a za běhu, nakonfigurujte správné application ID a version code a poté vytvořte a podepište release bundle pomocí ./gradlew bundleRelease.

Obecné online převodníky APK na AAB nejsou vhodnou náhradou tohoto procesu. Žádná důvěryhodná online služba nedokáže z APK spolehlivě obnovit chybějící zdrojový kód a konfiguraci buildu a nahrání APK může odhalit proprietární kód, vložené přihlašovací údaje, certifikáty nebo data aplikace. Rekonstrukci provádějte lokálně; Google Play Console používejte pouze k nahrání a testování výsledného AAB.

Omezení kompatibility a publikování

  • Rebuilt bundle se může chovat odlišně, protože z APK nemusí být možné obnovit obfuskaci, odebrané prostředky, generovaný kód, nastavení nativního buildu a verze závislostí.
  • Aktualizace musí používat stejné application ID a identitu podepisování akceptovanou pro stávající aplikaci. Při použití Google Play App Signing musí nahrávání používat registrovaný upload key; vlastnictví APK neposkytuje oprávnění k publikování aktualizace.
  • APK extrahované ze zařízení může být pouze jedním splitem nainstalované aplikace. Kompletní instalace může obsahovat base, configuration a feature split APKs, takže jeden extrahovaný split nemůže znovu vytvořit původní bundle.
  • AAB je publikační formát, nikoli běžný formát pro sideloading. Pro přímou instalaci vytvořte APK nebo pomocí bundletool vygenerujte z bundle odpovídající sadu APK.
  • Testujte release výstup na reprezentativních verzích Androidu, hustotách obrazovky a architekturách CPU, zejména po rekonstrukci nativních knihoven nebo dynamických funkcí.

APK vs AAB: srovnání formátů

Jak si formáty APK a AAB stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů APK a AAB
Vlastnost .APK Android Package .AAB Android App Bundle
Otevřený standard Ne Ne
Komprese Obojí —
Typická velikost souboru Střední Malé
Otevírá se ve webovém prohlížeči Ne Ne
Další úpravy Nelze přímo upravovat Nelze přímo upravovat
Podpora metadat Základní Základní
Čitelný jako prostý text Ne Ne
Nejvhodnější pro Vkládání do aplikací Vkládání do aplikací
Zavedeno 2008 2018
Vývojář Google Google
MIME typ application/vnd.android.package-archive —