上传APK至Google Play报MIN_SIG_SCHEME_FOR_TARGET_SDK_NOT_MET错误如何解决
报错原因
ERROR: MIN_SIG_SCHEME_FOR_TARGET_SDK_NOT_MET: Target SDK version 30 requires a minimum of signature scheme v2; the APK is not signed with this or a later signature scheme
该报错的核心触发逻辑是:目标SDK版本为30(对应Android 11)时,Google Play强制要求上传的APK必须使用v2及更高版本的签名方案,你当前打包的APK仅使用了v1签名,不符合平台校验规则。
Visual Studio 2017 + Cordova 场景的解决方案
方案1:修改Cordova构建配置开启v2签名
- 找到Cordova项目根目录下的
build.json文件,如文件不存在则手动新建 - 在Android release构建配置段添加v1、v2签名启用参数,完整参考配置如下:
{ "android": { "release": { "keystore": "你的签名文件存储路径.keystore", "storePassword": "密钥库密码", "alias": "签名别名", "password": "别名密码", "keystoreType": "", "v1SigningEnabled": true, "v2SigningEnabled": true } } }
- 保存配置后,在Visual Studio 2017中重新执行release版本构建,生成新的APK后即可尝试上传。
方案2:手动签名APK(配置不生效时使用)
如果修改build.json后打包的APK仍不符合要求,可以使用Android SDK自带的apksigner工具手动签名:
- 首先确认本地Android SDK的build-tools版本 >= 28.0.1,该版本及以上默认支持v2签名方案
- 找到
apksigner.bat文件,默认位于SDK目录下的build-tools/[对应版本号]/文件夹中 - 执行签名命令:
apksigner sign --ks 你的签名文件路径.keystore --ks-key-alias 签名别名 --out 签名后APK输出路径.apk 待签名的原APK路径.apk - 签名完成后执行校验命令确认v2签名生效:
apksigner verify -v 签名后的APK路径.apk
返回结果中出现Verified using v2 scheme (APK Signature Scheme v2): true即代表签名符合要求。
方案3:升级Cordova相关工具版本
- 确认本地安装的Cordova CLI版本 >= 9.0.0,低于该版本的Cordova默认不会开启v2签名逻辑
- 若Cordova版本过低,先升级Cordova CLI和Visual Studio 2017对应的Cordova工具插件,再重新构建打包即可。
内容的提问来源于stack exchange,提问作者AshokBalaji
相关产品推荐
相关产品推荐

