Android 使用aab 发布

App Bundle

Android App 越来越大,但是Google Play store的上传大小又有限制。介绍一种Google 推荐的实现方式。

更换新的编译方式

./gradlew clean assembleRelease xxxx

更改为:

./gradlew clean bundleRelease xxxx

修改生成的aab文件名称

tasks.whenTaskAdded { task ->
    if (task.name.startsWith("bundleRelease")) {
        def renameTaskName = "rename${task.name.capitalize()}Aab"
        def flavor = task.name.substring("bundle".length()).uncapitalize()
        tasks.create(renameTaskName, Copy) {
            def path = "${buildDir}/outputs/bundle/${flavor}/"
            from(path)
            include "app.aab"
            destinationDir file("${buildDir}/outputs/renamedBundle/")
            rename "app.aab", "${appName}_${buildNumber}_${flavor}_${releaseTime()}.aab"
        }
        task.finalizedBy(renameTaskName)
    }
}

验证

通过bundletool 将aab文件转换成apks文件

java -jar ~/bin/bundletool-all-0.10.3.jar build-apks \
--bundle=app/build/outputs/bundle/release/app.aab \
--output=./bb.apks \
--ks=./xxx.keystore \
--ks-pass=pass:password \
--ks-key-alias=key-alias \
--key-pass=pass:password

安装到设备上

java -jar ~/bin/bundletool-all-0.10.3.jar  install-apks --apks=/MyApp/my_app.apks

bundletool 使用参考

实际效果

1 大小可以减少大约70% 左右(google play下载的apk大小从~70mb 降低到21mb )
2 Google play store warning 没有了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值