bundletool工具使用(Android aab包安装)

🧑‍💻 写在开头

点赞 + 收藏 === 学会🤣🤣🤣

apk再见了,Android全新App安装格式aab

1
2
3
4
https://github.com/google/bundletool
https://github.com/google/bundletool/releases
 
https://developer.android.com/studio/command-line/bundletool#generate_apks

bundletool工具使用

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

生成apks

1
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

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

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

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

 

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

安装bundletool

切换到安装包的路径

1
2
bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
bundletool build-apks --bunlde=.aab --output=./.apks

安装apks

1
2
bundletool install-apks --apks=/MyApp/my_app.apks
bundletool install-apks --apks=.apks

build签名过的apks

1
2
3
4
5
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
1
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格式)

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

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

 

 通过应用包生成apk集

1
2
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集

1
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部署到设备上(需要连接设备,根据设备信息自动提取对应资源并安装)

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

为已连接的设备生成apk

1
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

1
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配置文件

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

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

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

json文件格式:

1
2
3
4
5
6
{
    "supportedAbis": ["arm64-v8a", "armeabi-v7a"],
    "supportedLocales": ["en", "fr"],
    "screenDensity": 640,
    "sdkVersion": 27
}
1
2
3
4
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

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 


__EOF__

  • 本文作者: 林恒
  • 本文链接: https://www.cnblogs.com/smileZAZ/p/18305775
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • posted @   林恒  阅读(614)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · 本地部署 DeepSeek:小白也能轻松搞定!
    · 如何给本地部署的DeepSeek投喂数据,让他更懂你
    · 从 Windows Forms 到微服务的经验教训
    · 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
    · 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
    又是一年情人节,2025年找到对象了嘛~
    点击右上角即可分享
    微信分享提示