Konwertuj AAB na APK Online: co właściwie robi to narzędzie
Pakiet aplikacji na Androida (.aab) to format, o przesłanie którego Google Play prosi programistów, ale nie można go zainstalować na telefonie. Jeśli masz plik .aab z serwera kompilacji, potoku CI lub od kolegi, musisz najpierw przekształcić go w instalacyjny plik .apk. Na tej stronie znajdziesz dwie rzeczy do tego zadania: interaktywny Konstruktor poleceń AAB do APK, który zapisuje dokładną komendę packagetool dla Twojego systemu operacyjnego, oraz Eksplorator plików AAB, który otwiera pakiet w przeglądarce, dzięki czemu możesz zobaczyć, co jest w środku, zanim go przekonwertujesz.
Sama konwersja odbywa się za pośrednictwem oficjalnego bundletool firmy Google, który jest programem Java. Ponieważ packagetool potrzebuje środowiska uruchomieniowego Java i dostępu do magazynu kluczy, właściwy etap kompilacji odbywa się na Twoim własnym komputerze, a nie na naszych serwerach. Twój plik .aab nigdy nie jest nigdzie przesyłany. Konstruktor po prostu eliminuje domysły, dzięki czemu można skopiować poprawne, gotowe do uruchomienia polecenie zamiast zapamiętywać nazwy flag.
AAB vs APK: dlaczego nie można po prostu zmienić nazwy pliku
Wiele osób szuka sposobu zmiany AAB na APK, zmieniając nazwę rozszerzenia, ale to nigdy nie działa. Plik .apk to pojedynczy, samodzielny pakiet, który system Android może zainstalować bezpośrednio. Plik .aab to kontener do publikowania: przechowuje skompilowany kod i zasoby podzielone na moduły i oczekuje, że Google Play lub narzędzie pakietowe wygeneruje z niego ostateczne, zoptymalizowane pod kątem urządzenia pliki APK. Zmiana nazwy pliku nie rozpakowuje tych modułów ani nie podpisuje niczego, więc Android odmawia jego zainstalowania. Jedynym niezawodnym sposobem na konwersję Pakiet aplikacji na Androida do pliku APK jest pozwolenie narzędziu pakietu na zbudowanie zestawu APK za Ciebie.
Jak przekonwertować AAB na APK w systemach Windows, Mac i Linux
Kroki są takie same na każdej platformie i zmienia się tylko styl ścieżki pliku, dlatego powyższy konstruktor poleceń ma przełącznik dla systemów Windows, macOS i Linux. Oto pełny przebieg od początku do końca:
- Zainstaluj Java JDK 8 lub nowszą. Uruchom java -version w terminalu, aby potwierdzić, że Java znajduje się na Twojej ścieżce.
- Pobierz narzędzie pakietu. Pobierz najnowszą wersję bundletool-all.jar z oficjalnej strony wydań Google w GitHubie.
- Zbuduj zestaw APK. Wskaż pakiet na swoim pakiecie i pozwól mu utworzyć archiwum .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Otwórz archiwum .apks. To tylko plik ZIP, więc rozpakuj go, a w środku znajdziesz universal.apk.
- Zainstaluj na swoim urządzeniu. Skopiuj plik APK na swój telefon i załaduj go z boku lub użyj bundletool install-apks z urządzeniem podłączonym przez USB.
Uniwersalny plik APK a podzielone pliki APK: który plik należy zbudować?
Jeśli chcesz, aby jeden plik instalował się na dowolnym telefonie, użyj --mode=universal. W ten sposób powstaje pojedynczy procesor uniwersalny plik APK z Twojego AAB, który łączy w jednym pakiecie każdą architekturę procesora, gęstość ekranu i język. Jest większy, ale jest to najprostsza opcja testowania, archiwizowania lub udostępniania kompilacji poza Sklepem Play. Jeśli opuścisz ten tryb, packagetool zamiast tego utworzy podzielone pliki APK, które są przycięte dla jednego konkretnego urządzenia, więc pobierają się w mniejszych rozmiarach, ale trzeba razem zainstalować pasujący zestaw. Dla większości osób, które potrzebują jedynie przekonwertować plik .aab w celu szybkiej instalacji, uniwersalny plik APK będzie właściwym wyborem.
Podpisanie pakietu APK otrzymanego od AAB
Android nie zainstaluje pakietu APK, jeśli nie zostanie podpisany. Na potrzeby testowania pakiet narzędzi może automatycznie podpisywać się kluczem debugowania, co dokładnie robi opcja „Użyj magazynu kluczy debugowania” w kreatorze. Jeśli przygotowujesz kompilację wydania, na przykład do dystrybucji we własnej witrynie internetowej, podpisz ją własnym magazynem kluczy, wypełniając pola ścieżki magazynu kluczy, hasła magazynu kluczy, aliasu klucza i hasła klucza. Następnie konstruktor dodaje flagi --ks, --ks-pass, --ks-key-alias i --key-pass, dzięki czemu otrzymany plik APK będzie zawierał Twój prawdziwy podpis produkcyjny zamiast jednorazowego debugowania.
Najczęstsze błędy pakietu packagetool i sposoby ich naprawienia
Ciągle powracają dwa problemy. Komunikat „bundletool: nie znaleziono polecenia” oznacza, że próbowałeś uruchomić pakiet narzędzi tak, jakby było to polecenie wbudowane. Jest to plik JAR, więc zawsze nazywasz go java -jar bundletool-all.jar. Błąd „Brak klucza/certyfikatu” oznacza, że brakuje szczegółów podpisu: dodaj --mode=universal dla niepodpisanej kompilacji testowej lub podaj flagi magazynu kluczy zgodnie z powyższym opisem. Karta Rozwiązywanie problemów znajdująca się wyżej na stronie zawiera więcej z nich, a Eksplorator AAB pozwala potwierdzić, że pakiet rzeczywiście zawiera oczekiwane moduły, zanim poświęcisz czas na debugowanie polecenia.
Kiedy faktycznie będziesz musiał przekonwertować AAB?
Najczęstszymi powodami są testowanie wersji na prawdziwym urządzeniu przed jej publikacją, przekazanie wersji testerowi, który nie korzysta z Google Play, przechowywanie instalacyjnej kopii własnej aplikacji w celach archiwalnych lub przeprowadzanie kontroli jakości na sprzęcie, do którego nie docierają wewnętrzne testy Sklepu Play. Bez względu na powód, konwertuj tylko pakiety aplikacji, do których masz prawo używać, takie jak własne kompilacje lub pakiety, z którymi masz wyraźne pozwolenie na pracę.