Conversia AAB în APK online: ce face de fapt acest instrument
Android App Bundle (.aab) este formatul pe care Google Play le cere dezvoltatorilor să îl încarce, dar nu este ceva pe care îl puteți instala pe un telefon. Dacă aveți un fișier .aab de la un server de compilare, o conductă CI sau un coleg, mai întâi trebuie să îl transformați într-un .apk instalabil. Această pagină vă oferă două lucruri pentru acea lucrare: un Generator de comenzi AAB în APK interactiv care scrie comanda exactă bundletool pentru sistemul dvs. de operare și un Explorator de fișiere AAB care deschide pachetul în browser, astfel încât să puteți vedea ce este în interior înainte de a-l converti.
Conversia în sine rulează prin bundletool oficial Google, care este un program Java. Deoarece bundletool are nevoie de runtime Java și de acces la depozitul de chei, pasul real de construire are loc pe propria mașină, nu pe serverele noastre. Fișierul dvs. .aab nu este încărcat nicăieri. Constructorul îndepărtează pur și simplu presupunerile, astfel încât să puteți copia o comandă corectă, gata de rulare, în loc să memorați numele steagurilor.
AAB vs APK: de ce nu puteți doar redenumi fișierul
Mulți oameni caută cum să schimbe AAB în APK prin redenumirea extensiei și nu funcționează niciodată. Un .apk este un pachet unic, autonom pe care Android îl poate instala direct. Un .aab este un container de publicare: conține codul dvs. compilat și resursele împărțite în module și se așteaptă ca Google Play sau bundletool să genereze APK-urile finale optimizate pentru dispozitiv din acesta. Redenumirea fișierului nu despachetează acele module sau semnează nimic, așa că Android refuză să-l instaleze. Singura modalitate fiabilă de a converti un Android App Bundle la APK este să lăsați bundletool să creeze setul APK pentru dvs.
Cum să convertiți AAB în APK pe Windows, Mac și Linux
Pașii sunt aceiași pe fiecare platformă și doar stilul căii fișierului se modifică, motiv pentru care generatorul de comenzi de mai sus are un comutator Windows, macOS și Linux. Iată fluxul complet de la început până la sfârșit:
- Instalați Java JDK 8 sau mai nou. Rulați java -version într-un terminal pentru a confirma că Java este pe PATH.
- Descărcați bundletool. Obțineți cel mai recent bundletool-all.jar de pe pagina oficială de lansări GitHub a Google.
- Creați setul APK. Îndreptați instrumentul bundletool la pachetul dvs. și lăsați-l să producă o arhivă .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Deschideți arhiva .apks. Este doar un fișier ZIP, așa că extrageți-l și veți găsi universal.apk în interior.
- Instalați pe dispozitivul dvs. Copiați APK-ul pe telefon și încărcați-l lateral sau utilizați bundletool install-apks cu un dispozitiv conectat prin USB.
APK universal vs APK-uri divizate: pe care ar trebui să le construiți?
Dacă doriți un fișier care se instalează pe orice telefon, utilizați --mode=universal. Acest lucru creează un singur APK universal de la AAB care reunește fiecare arhitectură CPU, densitatea ecranului și limba într-un singur pachet. Este mai mare, dar este cea mai simplă opțiune pentru testarea, arhivarea sau partajarea unei versiuni în afara Magazinului Play. Dacă renunțați la modul, bundletool produce în schimb APK-uri divizate care sunt tăiate pentru un anumit dispozitiv, astfel încât acestea se descarcă mai mici, dar trebuie să instalați împreună setul de potrivire. Pentru majoritatea oamenilor care trebuie doar să convertească un .aab pentru o instalare rapidă, APK-ul universal este alegerea potrivită.
Semnarea APK-ului pe care îl obțineți de la un AAB
Android nu va instala un APK decât dacă este semnat. Pentru testare, bundletool poate semna automat cu o cheie de depanare, care este exact ceea ce face opțiunea „Utilizați depozitul de chei de depanare” din generator. Dacă pregătiți o versiune de versiune, de exemplu pentru a o distribui pe propriul site web, semnați-o cu propriul depozit de chei completând câmpurile calea depozitului de chei, parola depozitului de chei, alias-ul de cheie și parola cheii. Constructorul adaugă apoi semnalizatoarele --ks, --ks-pass, --ks-key-alias și --key-pass, astfel încât APK-ul pe care îl obțineți să poarte semnătura dvs. de producție reală în loc de una de depanare uzuală.
Erori comune ale bundletool și cum să le remediați
Două probleme apar din nou și din nou. Mesajul „bundletool: command not found” înseamnă că ați încercat să rulați bundletool ca și cum ar fi o comandă încorporată. Este un fișier JAR, așa că îl apelați întotdeauna cu java -jar bundletool-all.jar. Eroarea „Fără cheie/certificat” înseamnă că lipsesc detaliile de semnare: fie adăugați --mode=universal pentru o versiune de testare nesemnată, fie furnizați marcajele depozitului de chei așa cum este descris mai sus. Fila Depanare mai sus a paginii acoperă mai multe dintre acestea, iar AAB Explorer vă permite să confirmați că pachetul dvs. conține într-adevăr modulele la care vă așteptați înainte de a petrece timp depanând o comandă.
Când ați avea nevoie de fapt să convertiți un AAB?
Motivele obișnuite sunt testarea unei versiuni pe un dispozitiv real înainte de a o publica, predarea unei versiuni unui tester care nu folosește Google Play, păstrarea unei copii instalabile a propriei aplicații pentru evidențele dvs. sau executarea QA pe hardware la care testarea internă Play Store nu ajunge. Indiferent de motiv, convertiți numai pachetele de aplicații pe care aveți dreptul să le utilizați, cum ar fi propriile versiuni sau pachetele cu care aveți permisiunea clară de a lucra.