使用Visual Studio 2017 Apache Cordova生成的APK无法上传Google Play,转AAB失败求助
解决VS2017 Apache Cordova项目生成Android App Bundle(AAB)的问题
嘿,我之前也踩过VS2017 Cordova打包AAB的坑,给你几个亲测有效的解决办法:
方案一:直接通过VS2017的Cordova工具生成AAB
其实VS本身就支持生成AAB,不用额外转格式,可能是你没配置对:
- 首先打开你的Cordova项目,在解决方案资源管理器里右键项目,选择
Configure->Configure Cordova Platforms,确保Android平台的版本是cordova-android@8.0.0或更高(推荐选9.x或10.x的稳定版,AAB需要这个版本以上的支持) - 然后在项目根目录下创建或修改
build.json文件,添加签名和打包配置(用你之前给APK签名的密钥信息):
{ "android": { "release": { "androidBundle": true, "keystore": "your-keystore-path.jks", "storePassword": "your-store-password", "alias": "your-key-alias", "password": "your-alias-password" } } }
- 最后在VS顶部选择
Release配置,目标平台选Android,右键项目点击Build,生成的AAB文件会在platforms/android/app/build/outputs/bundle/release/目录下
方案二:用Cordova CLI命令行生成AAB
如果VS集成的工具出问题,直接用命令行更靠谱:
- 打开VS的开发者命令提示符(或者自己先安装Node.js和Cordova CLI)
- 切换到你的Cordova项目根目录
- 先更新Android平台到最新稳定版:
cordova platform update android@latest
- 执行打包命令生成未签名的AAB:
cordova build android --release -- --packageType=bundle
- 用你之前的签名文件给AAB签名(如果没签名的话Google Play会拒收):
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore your-keystore-path.jks app-release.aab your-key-alias
- 签名完成后就可以上传Google Play了
方案三:修复Android Studio转换失败的问题
如果你还是想尝试用Android Studio转,大概率是导入项目的方式不对:
- 不要导入整个Cordova项目,只需要导入项目里的
platforms/android子目录到Android Studio - 等待Gradle同步完成,如果出现Gradle版本不兼容的提示,直接跟着Android Studio的引导更新Gradle即可
- 同步完成后,在菜单栏选择
Build->Generate Signed Bundle/APK,选择Android App Bundle,然后按照提示选择你的签名文件完成打包
额外注意点
- 一定要用和之前APK相同的签名文件,否则Google Play会判定为不同应用
- 第一次上传AAB时,记得在Google Play控制台的应用签名页面确认设置(可以选择让Google管理签名密钥,更安全)
内容的提问来源于stack exchange,提问作者Manjinder Singh
相关产品推荐
相关产品推荐

