无法提交Cordova应用至Google Play Store:需目标API等级31
能提交,但必须满足Google Play强制的API 31及以上目标等级要求,给你一套可落地的操作步骤:
锁定兼容的Cordova Android平台版本
必须使用cordova-android@10.x及以上版本(该版本原生支持API 31)。先卸载旧平台:cordova platform remove android再安装稳定版:
cordova platform add android@10.1.2通过config.xml统一配置API等级
不要手动修改build.gradle(容易引发冲突),直接在项目根目录的config.xml里添加配置,Cordova会自动同步到构建文件:<platform name="android"> <preference name="android-targetSdkVersion" value="31" /> <preference name="android-minSdkVersion" value="21" /> <!-- 根据你的用户群体调整,最低不低于21 --> </platform>适配API 31的权限与行为限制
API 31新增了通知权限要求,需在config.xml中注入权限声明:<platform name="android"> <config-file parent="/manifest" target="AndroidManifest.xml"> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> </config-file> </platform>另外如果应用包含后台服务,需避免在后台直接启动Activity,改用通知跳转等合规方式,符合Android 12的后台启动规则。
补全SDK依赖
打开Android Studio的SDK Manager,确保安装**Android 12 (API 31)**的SDK Platform、对应版本的Build Tools,无需卸载重装SDK,只需要补装缺失组件即可。验证构建结果
执行正式构建命令:cordova build android --release用Android Studio的APK Analyzer打开生成的APK,检查
AndroidManifest.xml中的targetSdkVersion是否为31,确认无误后再上传Google Play。
如果之前手动修改过build.gradle导致冲突,建议移除Android平台后重新添加,生成干净的构建配置文件,避免自定义修改带来的版本兼容问题。
内容的提问来源于stack exchange,提问作者user2835645

