Konwertuj apk do aab

Konwertuj APK na AAB

Utwórz publikowalny Android App Bundle z oryginalnego projektu, a nie gotowy APK.

Konwertuj pliki APK online

Nie mamy jeszcze dedykowanego konwertera online dla APK na AAB, ale pliki APK możesz przekonwertować online na te formaty:

Jak konwertować apk do aab

Google Play wymaga pakietów Android App Bundle przy przesyłaniu nowych aplikacji, dlatego deweloper może potrzebować AAB, gdy starsza wersja istnieje wyłącznie jako APK. APK można zainstalować bezpośrednio, ale AAB zwykle trzeba ponownie zbudować na podstawie oryginalnego projektu Android lub odtworzyć lokalnie z APK.

Czym jest format APK

APK to pakiet aplikacji Android, który telefony, tablety, urządzenia Android TV i emulatory instalują bezpośrednio. Jest to archiwum oparte na ZIP, zawierające skompilowany kod, zasoby, manifest, zasoby aplikacji, biblioteki natywne oraz informacje o podpisie APK.

Android Studio i Android Gradle Plugin generują APK za pomocą zadań Gradle, takich jak ./gradlew assembleRelease. Deweloperzy otrzymują również APK z serwerów kompilacji, usług testowych, ekstrakcji z urządzeń oraz dystrybucji poza Google Play. APK jest formatem instalacyjnym; urządzenie Android nie instaluje bezpośrednio AAB.

Czym jest format AAB

AAB, czyli Android App Bundle, to pakiet publikacyjny zawierający skompilowane moduły i zasoby aplikacji. Google Play przetwarza go na APK dostosowane do konkretnego urządzenia, wybierając wymaganą gęstość ekranu, zasoby językowe, architekturę CPU i funkcje dynamiczne zamiast dostarczania wszystkiego w jednym uniwersalnym APK.

Może to zmniejszyć rozmiar pobieranych danych oraz umożliwia korzystanie z Google Play Feature Delivery i Play Asset Delivery. AAB jest zwykle tworzony na podstawie projektu Android Studio lub Gradle za pomocą ./gradlew bundleRelease, które zazwyczaj tworzy plik app/build/outputs/bundle/release/app-release.aab. Kompilacja release musi mieć prawidłową konfigurację podpisywania, zanim będzie można ją przesłać.

Jak utworzyć AAB na podstawie oryginalnego projektu

  1. Otwórz projekt w kompatybilnym Android Studio i zsynchronizuj jego wersje Gradle oraz Android Gradle Plugin. Użyj wersji wymaganych przez projekt, zamiast bezkrytycznie je aktualizować.
  2. Sprawdź application ID, version code, zależności release, product flavors, biblioteki natywne, deklaracje manifestu oraz konfigurację podpisywania.
  3. W Android Studio wybierz Build → Generate Signed Bundle / APK, wybierz Android App Bundle, wybierz wariant release i podaj dane uwierzytelniające keystore oraz klucza. Możesz też uruchomić ./gradlew bundleRelease z katalogu projektu.
  4. Pobierz wynik z katalogu app/build/outputs/bundle/release/. W projekcie wielomodułowym pakiet może znajdować się w katalogu wyjściowym odpowiedniego modułu.
  5. Sprawdź poprawność i przetestuj pakiet za pomocą oficjalnego narzędzia Google bundletool. Na przykład bundletool validate --bundle=app-release.aab sprawdza jego strukturę. Aby utworzyć instalowalne APK dla podłączonego urządzenia, uruchom bundletool build-apks --bundle=app-release.aab --output=app.apks --connected-device, podając wymagane opcje keystore, jeśli bundletool musi podpisać wygenerowane APK, a następnie uruchom bundletool install-apks --apks=app.apks.

Android Studio jest odpowiednią opcją desktopową, ponieważ zachowuje konfigurację Gradle, przetwarzanie zasobów, podpisywanie, warianty kompilacji oraz moduły dynamic-feature. bundletool to narzędzie wiersza poleceń Google służące do sprawdzania poprawności, inspekcji, tworzenia i instalowania zestawów APK z AAB; nie konwertuje ono dowolnego gotowego APK na projekt źródłowy ani równoważny pakiet.

Jeśli dostępny jest tylko APK

Nie istnieje niezawodna konwersja gotowego APK na równoważny AAB za pomocą jednego polecenia. Kompilacja, przetwarzanie zasobów, zmniejszanie kodu, rozwiązywanie zależności i podpisywanie już się odbyły, a APK nie zawiera kompletnego projektu Gradle wymaganego do odtworzenia tych etapów.

W przypadku aplikacji, której jesteś właścicielem, odtworzenie jest możliwe, ale stanowi nową kompilację, a nie konwersję formatu pliku:

  1. Odkoduj zasoby i manifest za pomocą apktool d app.apk -o decoded-app.
  2. Przeanalizuj zdekompilowany kod przypominający Java lub Kotlin za pomocą jadx-gui app.apk. Wynik dekompilacji służy jako materiał pomocniczy i zwykle wymaga znacznych poprawek, zanim będzie można go skompilować.
  3. Utwórz projekt Android Studio i odtwórz strukturę pakietów, zasoby, pliki aplikacji, deklaracje manifestu, biblioteki natywne, zależności, ustawienia Gradle oraz wymagane moduły dynamic-feature.
  4. Usuń różnice dotyczące kompilacji i działania, skonfiguruj prawidłowe application ID oraz version code, a następnie wygeneruj i podpisz pakiet release za pomocą ./gradlew bundleRelease.

Ogólne internetowe konwertery APK na AAB nie są odpowiednim zamiennikiem tego procesu. Żadna renomowana usługa internetowa nie jest w stanie niezawodnie odzyskać brakującego kodu źródłowego i konfiguracji kompilacji z APK, a przesłanie APK może ujawnić zastrzeżony kod, osadzone dane uwierzytelniające, certyfikaty lub dane aplikacji. Odtwarzanie przeprowadzaj lokalnie; Google Play Console używaj wyłącznie do przesyłania i testowania wynikowego AAB.

Ograniczenia zgodności i publikowania

  • Odtworzony pakiet może działać inaczej, ponieważ zaciemnianie kodu, usunięte zasoby, wygenerowany kod, ustawienia kompilacji natywnej i wersje zależności mogą być niemożliwe do odzyskania z APK.
  • Aktualizacja musi używać tego samego application ID oraz tożsamości podpisywania akceptowanej dla istniejącej aplikacji. W przypadku Google Play App Signing przesyłanie musi używać zarejestrowanego klucza przesyłania; posiadanie APK nie daje uprawnień do publikowania aktualizacji.
  • APK wyodrębniony z urządzenia może być tylko jednym splitem zainstalowanej aplikacji. Kompletna instalacja może zawierać APK bazowy, APK konfiguracji i APK funkcji, dlatego jeden wyodrębniony split nie może odtworzyć oryginalnego pakietu.
  • AAB jest formatem publikacyjnym, a nie standardowym formatem instalacji sideloading. Aby zainstalować aplikację bezpośrednio, zbuduj APK lub użyj bundletool do wygenerowania odpowiedniego zestawu APK z pakietu.
  • Przetestuj wynik release na reprezentatywnych wersjach Android, gęstościach ekranu i architekturach CPU, szczególnie po odtworzeniu bibliotek natywnych lub funkcji dynamicznych.

Porównanie formatu APK z AAB

Jak formaty APK i AAB wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.

Porównanie formatów plików APK i AAB
Cecha .APK Android Package .AAB Android App Bundle
Otwarty standard Nie Nie
Kompresja Oba —
Typowy rozmiar pliku Średni Mały
Otwiera się w przeglądarce internetowej Nie Nie
Dalsza edycja Nie do bezpośredniej edycji Nie do bezpośredniej edycji
Obsługa metadanych Podstawowy Podstawowy
Czytelny tekstowo Nie Nie
Najlepszy do Osadzanie w aplikacjach Osadzanie w aplikacjach
Wprowadzono 2008 2018
Twórca Google Google
Typ MIME application/vnd.android.package-archive —