Converteer AAB naar APK online: wat deze tool eigenlijk doet
De Android App Bundle (.aab) is het formaat dat Google Play aan ontwikkelaars vraagt te uploaden, maar het is niet iets dat u op een telefoon kunt installeren. Als u een .aab-bestand van een buildserver, een CI-pijplijn of een collega hebt, moet u dit eerst omzetten in een installeerbaar .apk-bestand. Deze pagina biedt u daarvoor twee dingen: een interactieve AAB naar APK-opdrachtbouwer die de exacte bundeltoolopdracht voor uw besturingssysteem schrijft, en een AAB-bestandsverkenner die de bundel in uw browser opent, zodat u kunt zien wat erin zit voordat u deze converteert.
De conversie zelf loopt via Google's officiële bundletool, een Java-programma. Omdat Bundletool de Java-runtime en toegang tot uw sleutelarchief nodig heeft, gebeurt de daadwerkelijke bouwstap op uw eigen machine, niet op onze servers. Uw .aab-bestand wordt nooit ergens geüpload. De bouwer verwijdert eenvoudigweg het giswerk, zodat u een correcte, kant-en-klare opdracht kunt kopiëren in plaats van vlagnamen te moeten onthouden.
AAB versus APK: waarom u het bestand niet zomaar kunt hernoemen
Veel mensen zoeken hoe ze AAB in APK kunnen veranderen door de extensie te hernoemen, maar het werkt nooit. Een .apk is een enkel, op zichzelf staand pakket dat Android rechtstreeks kan installeren. Een .aab is een publicatiecontainer: deze bevat uw gecompileerde code en bronnen opgesplitst in modules, en verwacht dat Google Play of Bundletool de uiteindelijke, voor apparaten geoptimaliseerde APK's daaruit zal genereren. Door het bestand een andere naam te geven, worden de modules niet uitgepakt en wordt er niets ondertekend, dus Android weigert het te installeren. De enige betrouwbare manier om een Android-appbundel naar APK te converteren is door Bundletool de APK-set voor u te laten bouwen.
Hoe AAB naar APK te converteren op Windows, Mac en Linux
De stappen zijn op elk platform hetzelfde en alleen de stijl van het bestandspad verandert. Daarom heeft de opdrachtbouwer hierboven een Windows-, macOS- en Linux-schakelaar. Hier is de volledige stroom van begin tot eind:
- Installeer Java JDK 8 of nieuwer. Voer java -version uit in een terminal om te bevestigen dat Java zich op uw PATH bevindt.
- Bundeltool downloaden. Download de nieuwste bundletool-all.jar van de officiële GitHub-releasepagina van Google.
- Bouw de APK-set. Wijs de bundeltool op uw bundel en laat deze een .apks-archief aanmaken: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Open het .apks-archief. Het is slechts een ZIP-bestand, dus pak het uit en je zult universal.apk erin vinden.
- Installeer op uw apparaat. Kopieer de APK naar uw telefoon en sideload deze, of gebruik bundletool install-apks met een apparaat dat via USB is aangesloten.
Universele APK versus gesplitste APK's: welke moet je bouwen?
Als u één bestand wilt dat op elke telefoon kan worden geïnstalleerd, gebruikt u --mode=universal. Hiermee wordt één enkele universele APK van uw AAB gebouwd die elke CPU-architectuur, schermdichtheid en taal in één pakket bundelt. Het is groter, maar het is de eenvoudigste optie voor het testen, archiveren of delen van een build buiten de Play Store. Als je de modus uitschakelt, produceert Bundletool in plaats daarvan gesplitste APK's die zijn bijgesneden voor één specifiek apparaat, zodat ze kleiner worden gedownload, maar je moet de bijpassende set samen installeren. Voor de meeste mensen die alleen maar een .aab-bestand moeten converteren voor een snelle installatie, is de universele APK de juiste keuze.
Onderteken de APK die u krijgt van een AAB
Android installeert geen APK tenzij deze is ondertekend. Voor testen kan Bundletool automatisch ondertekenen met een debug-sleutel, wat precies is wat de optie "Gebruik debug keystore" in de builder doet. Als u een release-build voorbereidt, bijvoorbeeld om deze op uw eigen website te distribueren, onderteken deze dan met uw eigen sleutelarchief door de velden voor het sleutelarchief, het sleutelarchiefwachtwoord, de sleutelalias en het sleutelwachtwoord in te vullen. De bouwer voegt vervolgens de vlaggen --ks, --ks-pass, --ks-key-alias en --key-pass toe, zodat de APK die je krijgt je echte productiesignatuur draagt in plaats van een wegwerpdebug-signatuur.
Veelvoorkomende fouten in de Bundletool en hoe u deze kunt oplossen
Twee problemen komen steeds weer terug. Het bericht "bundletool: opdracht niet gevonden" betekent dat u bundeltool probeert uit te voeren alsof het een ingebouwde opdracht is. Het is een JAR-bestand, dus je noemt het altijd met java -jar bundletool-all.jar. De fout 'Geen sleutel/certificaat' betekent dat de ondertekeningsgegevens ontbreken: voeg --mode=universal toe voor een niet-ondertekende testbuild, of geef uw sleutelopslagvlaggen op zoals hierboven beschreven. Het tabblad Probleemoplossing hoger op de pagina behandelt meer hiervan, en met de AAB Explorer kunt u bevestigen dat uw bundel echt de modules bevat die u verwacht voordat u tijd besteedt aan het debuggen van een opdracht.
Wanneer zou u eigenlijk een AAB moeten converteren?
De gebruikelijke redenen zijn het testen van een release-build op een echt apparaat voordat u deze publiceert, het overhandigen van een build aan een tester die Google Play niet gebruikt, het bewaren van een installeerbare kopie van uw eigen app voor uw administratie, of het uitvoeren van QA op hardware die interne tests in de Play Store niet bereiken. Wat de reden ook is, converteer alleen appbundels waarvoor je gebruiksrechten hebt, zoals je eigen builds of bundels waarvoor je duidelijke toestemming hebt om mee te werken.