Cài đặt Android App Bundle trên thiết bị


113

Tôi đã xây dựng dự án của mình bằng định dạng Android App Bundle mới. Với các tệp APK, tôi có thể tải APK xuống thiết bị của mình, mở nó và cài đặt ngay ứng dụng. Tôi đã tải xuống ứng dụng của mình dưới dạng gói (định dạng .aab) và Nexus 5X chạy Android 8.1 của tôi không thể mở tệp. Có cách nào để cài đặt AAB trên các thiết bị theo cách thuận tiện giống như APK không?


2
Có vẻ như cần thêm vài bước so với apk đơn giản: developer.android.com/guide/app-bundle/test .
Mike M.

Câu trả lời:


108

Câu trả lời ngắn:

Không trực tiếp.

Câu trả lời dài hơn:

Android App Bundles là một định dạng xuất bản. Thiết bị Android yêu cầu .apktệp để cài đặt ứng dụng.

PlayStore hoặc bất kỳ nguồn nào khác mà bạn đang cài đặt cần phải trích xuất các apk từ gói, ký tên từng cái và sau đó cài đặt chúng cụ thể cho thiết bị mục tiêu.

Việc chuyển đổi từ .aab sang .apk được thực hiện thông qua Bundtool .

Bạn có thể sử dụng Chia sẻ ứng dụng nội bộ để tải bản dựng có thể gỡ lỗi của ứng dụng lên Cửa hàng Play và chia sẻ với người thử nghiệm.


Theo trường hợp mà chúng tôi sẽ sử dụng các bó xây dựng (s) tùy chọn, không phải là ký gói xem xét, chúng tôi không thể công bố ứng dụng debug trên vở kịch-store
Oush

Tôi chủ yếu làm điều đó để thử nghiệm cục bộ.
keyboardsurfer

3
Bản phát hành (thay vì tệp nguồn) của Bundletool tại đây: github.com/google/bundletool/releases
Kari

Hiện tại nó là câu trả lời sai, xem các câu trả lời khác để tạo apkstệp.
CoolMind

1
@ericn Quá trình "xuất bản" ban đầu của một ứng dụng đang diễn ra theo quy trình thông thường. Bất kỳ Chia sẻ ứng dụng nội bộ nào bạn đang thực hiện sau đó sẽ không bị chặn bởi các bài đánh giá.
keyboardsurfer

52

Cài đặt aab trực tiếp từ thiết bị, tôi không thể tìm ra cách cho điều đó.

Nhưng có một cách để cài đặt nó thông qua dòng lệnh của bạn bằng cách sử dụng tài liệu sau Bạn có thể cài đặt apk cho thiết bị thông qua BundleTool

Theo nhận xét của "@Albert Vila Calvo", anh ấy lưu ý rằng để cài đặt các gói công cụ bằng cách sử dụng HomeBrew brew install bundletool

Bây giờ bạn có thể cài đặt giải nén apks từ tệp aab và cài đặt nó vào thiết bị

Giải nén các tệp apk từ lệnh tiếp theo

java -jar packtool-all-0.3.3.jar build-apks --bundle = pack.aab --output = app.apks --ks = my-release-key.keystore --ks-key-alias = alias - -ks-pass = pass: mật khẩu

Tranh luận:

  • --bundle -> Tệp .aab Android Bundle
  • --output -> Đích và tên tệp cho tệp apk đã tạo
  • --ks -> Tệp kho khóa được sử dụng để tạo Android Bundle
  • --ks-key-alias -> Bí danh cho tệp kho khóa
  • --ks-pass -> Mật khẩu cho tệp Bí danh (Vui lòng lưu ý tiền tố 'pass' trước giá trị mật khẩu)

Sau đó, bạn sẽ có một tệp có phần mở rộng .apks Vì vậy, bây giờ bạn cần cài đặt nó vào thiết bị

java -jar packtool-all-0.6.0.jar install-apks --adb = / android-sdk / platform-tools / adb --apks = app.apks

Tranh luận:

  • --adb -> Đường dẫn đến tệp adb
  • --apks -> Tệp Apks cần được cài đặt

25
Nếu bạn sử dụng máy Mac, bạn có thể cài đặt Bundletool với Homebrew: brew install bundletool. Sau đó, chỉ cần chạy các lệnh như sau:bundletool build-apks --bundle=./app/release/app.aab --output=./app/release/app.apks
Albert Vila Calvo

3
--ks-pass = pass: mật khẩu chỉ định mật khẩu cho kho khóa. Để chỉ định mật khẩu cho keyfile, hãy sử dụng --key-pass = pass: password
smitty1

Tôi đang phải đối mặt với cùng một vấn đề, tôi làm theo các bước mà bạn mô tả, tuy nhiên, khi các ứng dụng được cài đặt trong thiết bị Android của tôi, tôi không thể mở nó (nó sẽ mở ra đóng cửa tự động)
aName

Cảm ơn! --key-pass=pass:... là bắt buộc, nhưng kỳ lạ là mật khẩu không chính xác nên tôi phải nhập thủ công. Sau khi ... install-apks --adb=...nó viết: 'Các APK đã được giải nén trong thư mục: ...', nhưng thư mục đó không tồn tại và nó không cài đặt trên thiết bị.
CoolMind

VÍ DỤ: 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"
Choletski

24

Bạn không thể cài đặt gói ứng dụng [NAME].aabtrực tiếp vào thiết bị Android vì nó là định dạng xuất bản, nhưng có cách để trích xuất yêu cầu apktừ đó bundlevà cài đặt nó vào thiết bị của bạn, quy trình như sau

  1. Tải xuống Bundletool từ đây
  2. chạy điều này trong thiết bị đầu cuối của bạn,
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
  1. Bước cuối cùng sẽ tạo một tệp có tên là out_bundle_archive_set.apks, chỉ cần đổi tên nó thành out_bundle_archive_set.zipvà giải nén tệp zip, nhảy vào thư mục out_bundle_archive_set > standalones, nơi bạn sẽ thấy danh sách tất cả các apks

Tham khảo từ các nhà phát triển Android cho liên kết gói công cụ

tham chiếu nhà phát triển android



@CoolMind phím ký và mật khẩu là khi bạn muốn xây dựng bộ apk đăng xuất khỏi bó, và muốn triển khai apk trên thiết bị, kiểm tra các câu trả lời được cập nhật
Ali Tamoor

Bước thứ 3 là thực sự cần thiết, Cảm ơn rất nhiều.
Dhiren

không có thư mục độc lập được đặt tên, thay vào đó là các phần tách theo tên
Gopal Singh Sirvi

15

Đối với MAC:

brew install bundletool
bundletool build-apks --bundle=./app.aab --output=./app.apks
bundletool install-apks --apks=app.apks

Chỉ cần thực hiện công việc mà không có bất kỳ vấn đề. Đã cứu sống ngày!
asozcan

sau khi thiết bị đầu cuối lệnh thứ ba hiển thị một đường dẫn cho ứng dụng, nhưng thư mục không có sẵn
Furquan

1
@Furquan, đường dẫn đó được hiển thị là đường dẫn trong thiết bị được kết nối của bạn. Lệnh cài đặt apk vào thiết bị của bạn.
Bijoy Thangaraj

6

Nếu bạn muốn cài đặt apk từ aab vào thiết bị của mình cho mục đích thử nghiệm thì bạn cần chỉnh sửa cấu hình trước khi chạy nó trên thiết bị được kết nối.

  1. Đi tới Chỉnh sửa cấu hình
    nhập mô tả hình ảnh ở đây
  2. Chọn menu thả xuống Triển khai và thay đổi từ "Gói ứng dụng mặc định" thành "APK từ gói ứng dụng".nhập mô tả hình ảnh ở đây
  3. Áp dụng các thay đổi và sau đó chạy nó trên thiết bị được kết nối. Thời gian xây dựng sẽ tăng lên sau khi thực hiện thay đổi này.

Thao tác này sẽ cài đặt apk trực tiếp trên thiết bị được kết nối từ aab.


1
Điều này đã giúp tôi sao chép một lỗi chỉ xuất hiện trên bản phát hành. Hóa ra lỗi xuất hiện khi cài đặt từ AAB. Cảm ơn rất nhiều.
Cerlin

Chỉ cần làm rõ, tôi giả sử các hướng dẫn và ảnh chụp màn hình là từ Android Studio? [Tôi đang sử dụng Xamarin, không sử dụng Android Studio. Tôi nhận thấy rằng hầu hết các nhà phát triển đang sử dụng Android Studio.]
ToolmakerSteve

Có, hướng dẫn và ảnh chụp màn hình là từ android studio 3.6.3.
Kartikeya_M

0

Không, nếu bạn đang gỡ lỗi một ứng dụng mà không có người dùng khác, hãy sử dụng (các) menu Build> Build APK trong Android Studio hoặc thực thi nó trong thiết bị / trình giả lập của bạn, apk phát hành gỡ lỗi sẽ tự động cài đặt. Nếu bạn đang gỡ lỗi một ứng dụng với những người khác, hãy sử dụng menu Xây dựng> Tạo APK đã ký ... Nếu bạn muốn xuất bản phiên bản beta, hãy sử dụng Cửa hàng Google Play. (Các) APK của bạn sẽ nằm trong app\build\outputs\apk\debugapp\releasecác thư mục.



0

Sử dụng (trên Linux): cd android ./gradlew assemblyRelease | assemblyDebug

APK chưa ký được tạo cho từng trường hợp (để gỡ lỗi hoặc thử nghiệm)

LƯU Ý: Trên Windows, thay thế tệp thực thi gradle cho gradlew.bat

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.