上一篇文章讲了关于AAB的内容,什么是AAB,AAB与APK的关系、AAB的优势,如何打包AAB,感兴趣的同学可以去看看,链接如下:

关于Google推出的AAB,你了解多少_水很清的博客-CSDN博客

本篇文章主要讲如何将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

将apks安装到手机上

1、电脑连接上设备;

2、在bundletool目录下打开终端(最好将bundletool的路径配置为全局变量;adb也是);

3、执行如下命令:java -jar   bundletool-all-1.9.0.jar路径  install-apks  --apks=apks路径  --adb=adb路径

例子:java -jar /Users/xxx/bundletool-all-0.9.0.jar  install-apks  --apks=/Users/xxx/debug.apks  --adb=/User/xxx/adb

最后的参数--adb可以根据情况忽略

注意:有些手机按此操作安装成功后无法打开app,具体原因不知,目前测试过OPPO存在这种情况。

关于将AAB转化为APK相关推荐

  1. AAB 扶正!APK 将退出历史舞台

    Google 自8月起要求 Google Play 上架的应用必须采用 AAB 的新格式,对我来说这并非新闻,早在去年12月份官方就提前做了通知: https://android-developers ...

  2. 打包aab,从AAB文件生成Apk文件(Android应用程序捆绑包)

    Is there any way to generate an apk file from android app Bundle via terminal or using android studi ...

  3. Android apk和aab互相转换

    前言: 根据Google Play的政策要求,自 2021 年 8 月起,Google Play 将开始要求新应用使用 Android App Bundle(以下简称aab) 进行发布.该格式将取代 ...

  4. Delphi 10.4.2 Android 64位发布格式之App Bundle格式aab

    目录 Delphi 10.4.2 Android 64位发布格式之App Bundle格式aab 1.Android 64位新规则 2.D10.4.2的Android 64位发布结果 Delphi 1 ...

  5. 解决aab上传GooglePlay超过150M的问题及aab包测试方法

    Google .aab打包问题处理(大于150M及aab安装) Name风清扬 Google .aab打包问题处理(大于150M及aab安装) - 简书 (jianshu.com)https://ww ...

  6. Android应用程序(APK)的编译打包过程

    前言 android系统上所识别的安装包后缀名为.apk 1.通过aapt工具打包资源文件和清单文件到R.java中. 2.通过aidl工具将aidl文件转为java文件 3.上面所产生的java文件 ...

  7. Android aab的打包、调试、安装

    一.前言 Google Play在今年3月发出了一个 Google Play新政策通知,即在今年8月后新应用必须以 API 级别 30 (Android 11) 为目标平台,并使用 Android A ...

  8. 知物由学 | APP大瘦身,新一代AAB框架下的安全加固之道

    在 Google I/O 大会上,Google 向 Android 引入了新 APP 动态化框架 Android APP Bundle (AAB),被看作是对 Android 未来发展具有颠覆性的动态 ...

  9. 安卓aab包安装方式

    一.aab包简介 Google Play商店从 2021 年 8 月起,新应用发布需要使用Android App Bundle 才能在 Google Play中发布. Android App Bund ...

最新文章

  1. ceph中使用ceph-objectstore-tool将pg从incomplete标记为complete
  2. Eclipse 输出的文本乱码
  3. 我在想,技术博不能荒废
  4. 什么是Nib文件?(Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口)...
  5. CentOS6.4安装Samba(匿名)共享服务器
  6. Jsoup获取所有链接
  7. 改时区_太平洋奇葩小国:为了虚名改时区,全国仅一个城市,至今仍是部落
  8. 微型计算机原理_课后答案,微机原理课后习题答案
  9. Bash之正则表达式
  10. 固态硬盘比机械硬盘到底快多少呢
  11. python函数速查手册_Pandas常用函数速查手册中文版
  12. JAVA前后端分离项目脚手架
  13. 考研逻辑整理 - 概念和概念的种类
  14. 围成面积(信息学奥赛一本通 - T1359)
  15. 数学第一单元计算机思维导图,七年级下册数学第一单元思维导图图片
  16. 云函数隐藏c2服务器
  17. 人工神经网络的英文简称,人工神经网络英语全称
  18. 微信公众号创建菜单注意问题
  19. elementUI分页删除最后一页数据时跳转回上一页并且el-table序号递增
  20. 张勋说:棒磨机钢棒技术标准应怎样确定(图文)

热门文章

  1. STM32中断优先级NVIC
  2. DBeaver 工具的使用
  3. 批量实现excel中的地名转为经纬度
  4. 调用百度ai接口实现图片文字识别详解
  5. 计算机丢失wswool.dll什么意思,如何修复Windows 10中丢失的DLL文件
  6. 计算机用老毛桃u盘备份系统,如何使用老毛桃winpe系统进行Ghost备份
  7. centos6.0 64位挂载ntfs分区
  8. 洛谷 P1162 填涂颜色 C++ 深搜 染色法
  9. AMC美国数学竞赛考试信息大全
  10. pandas中inplace_对python pandas中 inplace 参数的理解