Zbudowałem swój projekt przy użyciu nowego formatu pakietu aplikacji na Androida. Dzięki plikom APK mogę pobrać plik APK na moje urządzenie, otworzyć go i natychmiast zainstalować aplikację. Pobrałem aplikację w pakiecie (format .aab) i mój Nexus 5X z systemem Android 8.1 nie może otworzyć pliku. Czy istnieje sposób na zainstalowanie AAB na urządzeniach w ten sam wygodny sposób, co pliki APK?
android
android-app-bundle
prfarlow
źródło
źródło
Odpowiedzi:
Krótka odpowiedź:
Nie bezpośrednio.
Dłuższa odpowiedź:
Pakiety aplikacji na Androida to format publikacji. Urządzenia z systemem Android wymagają
.apk
plików do instalowania aplikacji.Sklep PlayStore lub inne źródło, z którego instalujesz, musi wyodrębnić apki z pakietu, podpisać każdy z nich, a następnie zainstalować je na urządzeniu docelowym.
Konwersja z .aab do .apk odbywa się za pomocą narzędzia bundletool .
Możesz użyć wewnętrznego udostępniania aplikacji, aby przesłać kompilację swojej aplikacji do debugowania do Sklepu Play i udostępnić ją testerom.
źródło
apks
plik.Instalując aab bezpośrednio z urządzenia, nie mogłem znaleźć na to sposobu.
Ale jest sposób na zainstalowanie go za pomocą wiersza poleceń przy użyciu następującej dokumentacji Możesz zainstalować apk na urządzeniu za pomocą narzędzia BundleTool
Według komentarza "@Albert Vila Calvo" zauważył, że aby zainstalować narzędzia pakietowe przy użyciu HomeBrew
brew install bundletool
Możesz teraz zainstalować wyodrębnione apki z pliku aab i zainstalować je na urządzeniu
Wyodrębnianie plików apk za pomocą następnego polecenia
Argumenty:
Wtedy będziesz mieć plik z rozszerzeniem .apks Więc teraz musisz zainstalować go na urządzeniu
Argumenty:
źródło
brew install bundletool
. Następnie wykonaj następujące polecenia:bundletool build-apks --bundle=./app/release/app.aab --output=./app/release/app.apks
--key-pass=pass:
... jest wymagane, ale o dziwo hasło jest nieprawidłowe, więc muszę je wpisać ręcznie. Po napisaniu... install-apks --adb=...
: „Pakiety APK zostały rozpakowane w katalogu: ...”, ale ten folder nie istnieje i nie można go zainstalować na urządzeniu.C:\Users\Aterr\Desktop\hack>java -jar "C:\Users\Aterr\Desktop\hack\bundletool-all-0.10.3.jar" install-apks --adb="C:\Users\Aterr\AppData\Local\Android\Sdk\platform-tools\adb.exe" --apks="C:\Users\Aterr\Desktop\hack\extractedapks.apks"
Nie można zainstalować pakietu aplikacji
[NAME].aab
bezpośrednio na urządzeniu z systemem Android, ponieważ jest to format publikacji, ale istnieje sposób na wyodrębnienie wymaganegoapk
z urządzeniabundle
i zainstalowanie go na urządzeniu, proces jest następującyjava -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
out_bundle_archive_set.apks
, po prostu zmień jego nazwę naout_bundle_archive_set.zip
i wyodrębnij plik zip, wskocz do folderuout_bundle_archive_set > standalones
, w którym zobaczysz listę wszystkich apekJest odniesienie od programistów Androida do linku do narzędzi pakietu
źródło
Dla Maca:
brew install bundletool bundletool build-apks --bundle=./app.aab --output=./app.apks bundletool install-apks --apks=app.apks
źródło
Jeśli chcesz zainstalować apk ze swojego AAB na swoim urządzeniu w celach testowych, musisz edytować konfigurację przed uruchomieniem jej na podłączonym urządzeniu.
Spowoduje to zainstalowanie apk bezpośrednio na urządzeniu podłączonym z aab.
źródło
Nie, jeśli debugujesz aplikację bez innych użytkowników, użyj menu Build> Build APK (s) w Android Studio lub uruchom je na swoim urządzeniu / emulatorze, a apk wersji debugowania zostanie zainstalowany automatycznie. Jeśli debugujesz aplikację z innymi, użyj menu Kompiluj> Generuj podpisany plik APK ... Jeśli chcesz opublikować wersję beta, skorzystaj ze Sklepu Google Play. Twoje pliki APK będą znajdować się w folderach
app\build\outputs\apk\debug
iapp\release
.źródło
Użyj (w systemie Linux): cd android ./gradlew assemblyRelease | assemblyDebug
Dla każdego przypadku generowany jest niepodpisany plik APK (do debugowania lub testowania)
UWAGA: W systemie Windows zamień plik wykonywalny gradle na gradlew.bat
źródło