android app bundle: install .aab to device
緣由:2021年開始,app開發者上傳app到google play store被規定一定要使用 Android App Bundle (aab)格式才可更新app,但 aab 格式檔案不能像過去使用apk檔案一樣,直接用adb install 指令就可安裝到裝置上來測試,這導致新格式aab檔案在我們作測試時非常不方便,如果我們想手動安裝 aab 檔案,就需要有額外工具~那就是 bundletool,他可方便我們在local端來安裝aab.
---------
步驟1:(先確認有這工具) download bundletool ,可直接找最新版本.
https://github.com/google/bundletool/releases
i.e:
https://github.com/google/bundletool/releases/download/1.8.0/bundletool-all-1.8.0.jar
下載下來的檔案檔名為 bundletool-all-1.8.0.jar, 記得要把他更名為bundletool.jar ,這樣下次就只要輸入bundletool.jar,然後再把它放在通用路徑下或是c:\下,這樣下次不用輸入路徑.如果發生找不到檔案的狀況,記得加上bundletool所在路徑.
------
步驟2. 先轉換aab成apks格式: (convent aab to apks)
java -jar bundletool.jar build-apks --bundle=app-release.aab --output=out.apks
(上面指令會產生一個用debug key簽屬的apks.有些測試只需debug key即可)
ps: 如果你要建立用"上傳app store keystore簽署金鑰"的apks,
(這是用在需要使用地圖或是login功能會認簽署金鑰的功能的時候)指令會比較長,建議寫成一個cmd script,下次直接執行即可,可免去每次都輸入.
$ bundletool build-apks --bundle=<bundle_name>.aab
--output=<bundle_name>.apks --ks=<your_keystorename>.jks/.keystore
--ks-pass=pass:<your_keystore_pass>
--ks-key-alias=<your_keystore_alias>
--key-pass=pass:<your_keystore_pass>
-------
步驟3.
install apks方法,有兩個方法:
方法1: 傳統apk方法+手動更名抽取出apk (可把apk傳給別人做測試用,較簡易):
just rename it to out.zip
and extract the zip file,
jump into the folder out> standalones
, where you will see a list of all the apks再用傳統指令把apk安裝到device上(這適合要把apk給別人做測試用時,給予apk較簡易):
adb install standalones-hdpi.apk
or
方法2: (強烈建議用此方法)直接使用安裝.apks
(較建議,這方法比較適合有安裝bundletool跟java者),他會自動根據測試裝置選擇適合的組態apks.
java -jar bundletool.jar install-apks --apks=out.apks
====參考:
https://developer.android.com/studio/command-line/bundletool
留言
張貼留言