Android App bundle實作

使用情境

使用App bundle build aab

使用3.2.1最新的Android studio版本 並選擇Android App Bundle

結果

會產生附檔名為aab的檔案

修改輸出檔案名稱

在gradle的 defaultConfig中加入

setArchivesBaseName("apk name")

遺憾的是目前並不支援flavors輸出不同名稱

將aab運行安裝在手機上

  1. 至 https://github.com/google/bundletool 下載最新版本的tool

  2. 與aab放在同個路徑下(或是修改下方指令路徑)

  3. 執行下方指令,會產生apks

     java -jar bundletool-all-0.6.2.jar build-apks --bundle=app.aab --output=my_app.apks --ks=../../../../chtSmartGreenParkKey.jks --ks-pass=pass:iocapp --ks-key-alias=ioc --key-pass=pass:iocapp
    
  4. 接上手機後執行下方指令安裝至手機

     java -jar bundletool-all-0.6.2.jar install-apks --apks=my_app.apks --adb=C:\Users\aslanyan\AppData\Local\Android\sdk\platform-tools\adb.exe
    

gradle選擇那些需要被分離

android {
    // Instead, use the bundle block to control which types of configuration APKs
    // you want your app bundle to support.
    bundle {
        language {
            enableSplit = false
        }
        density {
            // This property is set to true by default.
            enableSplit = true
        }
        abi {
            // This property is set to true by default.
            enableSplit = false
        }
    }
}

優缺點

可能遇到的問題

如果Android studio目前有連到裝置,可能會造成指令無法成功安裝的問題,可以先拔掉裝置,執行

adb kill-sever

再重新連上裝置執行

adb start-server

來連上