如何通过命令行测试Bundle文件以精准复现Google Play更新场景?
命令行测试Android App Bundle并复现Google Play场景
一、基础安装场景(匹配Play首次安装逻辑)
你当前使用的命令已经能精准复现Google Play的首次安装场景:
- 构建适配当前连接设备的APKs集合(和Play商店针对设备下发的APK包一致):
java -jar bundletool-all-1.14.0.jar build-apks -connected-device --bundle=BUILD_NAME.aab --output=APKS_NAME.apks --ks=keystore.jks --ks-pass=pass:password --ks-key-alias=alias --key-pass=pass:password
- 安装APKs到设备:
java -jar bundletool-all-1.14.0.jar install-apks --apks=APKS_NAME.apks
二、复现Google Play更新场景的操作
Bundletool没有单独的"更新"命令,但可以通过以下步骤精准模拟Play商店的更新流程:
1. 构建新版本的适配APKs
使用相同签名密钥,针对当前连接设备构建新版本App Bundle对应的APKs:
java -jar bundletool-all-1.14.0.jar build-apks -connected-device --bundle=NEW_BUILD_NAME.aab --output=NEW_APKS_NAME.apks --ks=keystore.jks --ks-pass=pass:password --ks-key-alias=alias --key-pass=pass:password
2. 执行更新安装
直接运行install-apks命令安装新版本APKs即可,Bundletool会自动识别设备上的旧版本,执行增量更新(仅安装新旧版本差异的APK部分),完全匹配Play商店的更新逻辑:
java -jar bundletool-all-1.14.0.jar install-apks --apks=NEW_APKS_NAME.apks
关键注意事项
- 必须使用和旧版本相同的签名密钥,否则更新会失败(和Play商店的签名验证要求一致)
- 如果需要测试降级场景,可以添加
--allow-downgrade参数 - 该流程模拟的是Play商店针对已安装应用的增量更新,和后台下发更新包的逻辑对齐
内容的提问来源于stack exchange,提问作者Cerviany
相关产品推荐
相关产品推荐

