Pakiety aplikacji na Androida pojawiły się w 2018 roku jako nowa metoda publikowania aplikacji przez programistów. Od tego czasu Google promuje ich użycie, aż miesiąc temu ustaliło, że pakiety aplikacji zastąpią pakiety APK w Google Play. Problem polega na tym, że pakietów aplikacji w formacie AAB nie można zainstalować na Androidzie.
Pakiet aplikacji jest w pewnym sensie plikiem ZIP zawierającym wszystko, co jest potrzebne do utworzenia niestandardowego instalowanego pliku APK dla każdego urządzenia. Możliwe jest przekonwertowanie pakietu aplikacji w AAB do pliku APK za pomocą odpowiednich narzędzi, chociaż jest to dość czasochłonny proces.
Czego potrzebujesz, aby przekonwertować z AAB na APK?
Gdy programiści zaczynają wypuszczać wszystkie swoje aplikacje w formacie App Bundle, może się okazać, że zamiast zwykłych pakietów APK otrzymasz pliki AAB. Na przykład w projektach GitHub, w których znajdują się pliki skompilowane przez dewelopera.
Należy zauważyć, że pakiety aplikacji nie są instalowalne i chociaż programiści przesyłają plik AAB do Google Play, ostatecznie instalujesz na telefonie pakiet APK. Problemem i jednocześnie zaletą jest to, że pobierany i instalowany plik APK jest znacznie bardziej zoptymalizowany pod kątem konfiguracji mobilnej, a zatem zajmuje mniej miejsca. Tak czy inaczej, jeśli trafisz w ręce aplikacji lub gry w formacie App Bundle i chcesz przekonwertować ją na APK, aby ją zainstalować, możesz to zrobić.
Do podpisywania aplikacji potrzebny będzie komputer, Java i certyfikat. Brzmi skomplikowanie, ale te dwa ostatnie komponenty otrzymasz, jeśli pobierzesz i zainstalujesz Android Studio. Android Studio zawiera Javę w swojej instalacji i automatycznie utworzy Twój certyfikat debugowania, więc jest to znacznie lepsza opcja niż robienie tego osobno.
Dodatkowo będziesz potrzebować narzędzia Bundletool, które możesz pobierz z GitHub. Jest to plik JAR, dlatego musisz mieć zainstalowaną Javę na swoim komputerze, zanim będziesz mógł użyć narzędzia do konwersji pliku AAB na APK.
Jak przekonwertować pakiet aplikacji (AAB) na APK?
Jeśli posiadasz aplikację lub grę w App Bundle w formacie AAB i chcesz przekonwertować ją na pakiet APK, który możesz zainstalować na telefonie komórkowym, najprościej jest umieścić w tym samym folderze na swoim komputerze plik AAB i Bundletool, aby uniknąć konieczności uwzględniania ścieżek.
Następnie otwórz ten folder w wierszu poleceń. W systemie Windows obejmuje to naciśnięcie Win + R, wpisanie cmd, a następnie przejście do odpowiedniego folderu za pomocą polecenia, takiego jak CD C: MyFolder, zmiana MyFolder na nazwę folderu. Następnie uruchom następujące polecenie:
bundletool build-apks –bundle=application.aab –output=application.apks –mode=universal.
Zmień w powyższym poleceniu nazwę application.aab na nazwę swojego pliku App Bundle, natomiast application.apks możesz wybrać dowolną nazwę, pod warunkiem, że jest to plik APKS, a nie APK. Za chwilę dowiemy się dlaczego.
Proces zajmie więcej lub mniej czasu w zależności od złożoności aplikacji i szybkości komputera, ale generalnie nie zajmie więcej niż kilka sekund. Bundletool ostrzega, że zostanie użyty certyfikat debugowania Android Studio, chociaż możesz podpisać aplikację dowolnym innym kluczem, jeśli chcesz. Możesz zobaczyć dokumentację Bundletool na Witryna dla programistów Androida.
Po zakończeniu procesu otrzymasz plik APKS o wybranej nazwie. Nie jest to plik APK, ale plik ZIP zawierający plik APK w środku. Zmień nazwę pliku APKS na ZIP i otwórz go za pomocą ulubionego dekompresora.
Rozpakuj universal.apk, a otrzymasz plik APK wygenerowany z pakietu aplikacji. Należy jednak pamiętać, że jest on podpisany kluczem debugowania innym niż klucz programisty, więc nie będzie można aktualizować poprzednich wersji ani instalować wersji oficjalnych.