上一篇文章讲了关于AAB的内容,什么是AAB,AAB与APK的关系、AAB的优势,如何打包AAB,感兴趣的同学可以去看看,链接如下:
https://developer.aliyun.com/article/996151?spm=a2c6h.13148508.setting.14.46424f0eYDmJBf
本篇文章主要讲如何将AAB转化为APK,虽然说我们上传到Google Play的AAB,是有Google Play自己去转化为APK给用户下载的,但是作为开发者的我们,也是需要知道应该如何转化的,毕竟我们还是要做测试的,当你拿到一个AAB文件的时候,你得知道如何将它转化成APK,然后安装在手机上,测试需要测试的内容。
好了话不多说,开干。
第一步:下载bundletool工具
下载地址:https://github.com/google/bundletool/releases
bundletool官方文档:bundletool | Android 开发者 | Android Developers
第二步:将AAB文件转化为APKS文件
很多人会问,为什么是APKS文件,而不是APK,看过我前面文章的同学肯定知道,因为AAB是生成适配不同设备的APK的一个集合,也就是说,AAB里面是包含多种设备资源的,那么我们转化出来的,肯定是多个APK的,每一种资源对应一个APK,所以是一个APKS文件,然后再解压APKS文件,我们就可以发现,里面有很多个APK,对应不同资源的APK。这些APK就是我们需要的,自己选择相匹配的安装到手机上即可。
使用如下命令就可,前提是先用终端进入到bundletool所在目录
java -jar bundletool.jar build-apks //jar包及路径
--mode=universal //模式
--bundle= XXX //等于号后面填写需要修改的aab包以及所在路径
--output=aa.apks //等于号后面是apks包输出路径
--ks= //等于号后面填写签名以及路径
--ks-pass=pass: //冒号后面填写签名密码
--ks-key-alias= //等于号后面填写签名
--key-pass=pass: //冒号后面填写签名密码
你们是说看不懂,不知道怎么写,好吧,好人做到底,我再放一个完整的例子,但是要学会修改
// jar包及路径 模式 需要修改的aab包以及所在路径 apks包输出路径 签名以及路径 签名密码 签名 签名密码
java -jar bundletool.jar build-apks --mode=universal --bundle=D:\work_file\20211230.aab --output=aa.apks --ks=D:\work_file\sign.jks --ks-pass=pass:sign666 --ks-key-alias=sign --key-pass=pass:sign666