bundletool工具使用(Android aab包安装)-Google play上架

如果对"哆啦安全"感兴趣的可以扫二维码关注微信公众号,该公众号每天都会持续更新干货文章!

 

 

APK再见了,Android正式宣布全新APP安装格式AAB

https://github.com/google/bundletool
https://github.com/google/bundletool/releases

https://developer.android.com/studio/command-line/bundletool#generate_apks

bundletool工具使用

https://www.jianshu.com/p/0308ddc9b2e7

生成apks

java -jar bundletool.jar build-apks --bundle=dlhroditerd.aab --output=dlhroditerd.apks --ks=dlhroditerd.keystore --ks-pass=pass:123456 --ks-key-alias=dlhroditerd.keystore --key-pass=pass:123456

安装apks
首先连接设备,如果只有一个连接设备,执行如下命令

java -jar bundletool.jar install-apks --apks=app.apks

由于现在上传Google play只需要上传.aab文件,不需要再上传apk的安装包,然而在测试中只需要对apk的包进行测试,aab的包虽然在理论上与apk的包是相同的,但是在测试到上线过程中缺少对aab包的测试过程,安装aab包需要几个步骤,需要将aab的包转化成apks格式后进行安装

bundletool的安装方法与重新打apks包的方法
安装bundletool

切换到安装包的路径

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
bundletool build-apks --bunlde=<bundle_name>.aab --output=./<bundle_name>.apks

安装apks

bundletool install-apks --apks=/MyApp/my_app.apks
bundletool install-apks --apks=<bundle_name>.apks


build签名过的apks

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
--ks=/MyApp/keystore.jks
--ks-pass=file:/MyApp/keystore.pwd
--ks-key-alias=MyKeyAlias
--key-pass=file:/MyApp/key.pwd

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>

Windows使用bundletool将aab包安装到手机上的命令
通过应用包生成apk集(aab格式转apk格式)

java -jar bundletool-all-1.8.2.jar build-apks --mode=universal --bundle=base.aab --output=base.apks

 
base.apks修改为base.zip,然后解压,可以获取到apk

 

通过应用包生成apk集

java -jar bundletool-all-1.8.2.jar build-apks --bundle=dlhroditerd-release-29.2.aab --output=dlhroditerd-release-29.2.apks
java -jar bundletool-all-1.8.2.jar build-apks --bundle=dlhroditerd-release-29.2.aab --output=dlhroditerd-release-29.2.apks

通过应用包生成一组带签名的apk集

java -jar bundletool-all-1.8.2.jar build-apks --bundle=dlhroditerd-release-29.2.aab  --output=dlhroditerd-release-29.2.apks  --ks=adamrocker.keystore  --ks-pass=pass:android  --ks-key-alias=androiddebugkey --key-pass=pass:android

将apk部署到设备上(需要连接设备,根据设备信息自动提取对应资源并安装)

java -jar bundletool-all-1.8.2.jar install-apks --apks=dlhroditerd-release-29.2.apks

为已连接的设备生成apk

java -jar bundletool-all-1.8.2.jar build-apks --connected-device --bundle=dlhroditerd-release-29.2.aab  --output=dlhroditerd-release-29.2.apks

通过json文件生成对应的apk

java -jar bundletool-all-1.8.2.jar build-apks --device-spec=config.json --bundle=dlhroditerd-release-29.2.aab --output=dlhroditerd-release-29.2.apks

获取已连接设备的json配置文件

java -jar bundletool-all-1.8.2.jar get-device-spec --output=config.json

从apk集中提取对应设备apk到app文件夹

java -jar bundletool-all-1.8.2.jar extract-apks --apks=keyhelp.apks --output-dir=app --device-spec=temp.json


json文件格式:

{
    "supportedAbis": ["arm64-v8a", "armeabi-v7a"],
    "supportedLocales": ["en", "fr"],
    "screenDensity": 640,
    "sdkVersion": 27
}
java -jar bundletool-all-1.8.2.jar build-apks --bundle=dlhroditerd-release-29.2.aab --output=simeji.apks
java -jar bundletool-all-1.8.2.jar build-apks --bundle=dlhroditerd-release-29.2.aab  --output=dlhroditerd-release-29.2.apks  --ks=adamrocker.keystore  --ks-pass=pass:android  --ks-key-alias=androiddebugkey --key-pass=pass:android
java -jar bundletool-all-1.8.2.jar install-apks --apks=dlhroditerd-release-29.2.apks
java -jar bundletool-all-1.8.2.jar build-apks --connected-device --bundle=dlhroditerd-release-29.2.aab  --output=dlhroditerd-release-29.2.apks

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哆啦安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值