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__
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee