Cordova SDK适配问题:com.google.android.play:core:1.10.0不兼容Android14
解决com.google.android.play:core:1.10.0与Android 14(targetSdkVersion 34)不兼容问题
问题背景
收到Google通知:当前使用的
com.google.android.play:core:1.10.0版本与targetSdkVersion 34(Android 14)不兼容,因Android 14对广播接收器做了向后不兼容的安全变更。Google要求更新至兼容Android 14的Play Core版本,否则自2024年9月21日00:00(UTC)起,含该SDK版本的应用无法发布至生产或公开测试环境。已多次更新Cordova版本,但问题仍未解决。
可行解决方案
1. 强制升级Play Core依赖版本
在Cordova项目的platforms/android/build.gradle文件中,添加强制依赖规则,覆盖旧版本:
configurations.all { resolutionStrategy.force 'com.google.android.play:core:1.12.0' // 选择1.12.0及以上兼容Android14的稳定版本 }
注:优先选择Google官方标注适配Android 14的最新Play Core稳定版。
2. 检查并更新关联Cordova插件
多数Cordova插件会间接引入Play Core依赖(如cordova-plugin-inappupdate、cordova-plugin-app-review等),需:
- 执行
cordova plugin list列出已安装插件,逐个排查插件文档或仓库,确认是否有适配Android 14的更新版本。 - 使用
cordova plugin update <插件名称>更新目标插件,或卸载后重新安装最新版。
3. 手动声明兼容版依赖
若上述方法无效,直接修改platforms/android/app/build.gradle的dependencies块,明确指定兼容版本:
dependencies { // 保留原有依赖... implementation 'com.google.android.play:core:1.12.0' }
此配置会强制构建时使用指定的新版本依赖。
4. 清理缓存后重新构建
修改配置后,执行以下命令清除旧缓存并重新构建,避免依赖残留:
cordova clean android cordova build android --release
验证依赖是否生效
构建完成后,执行命令查看依赖树,确认Play Core版本已更新:
./gradlew platforms/android/app:dependencies | grep "play:core"
输出显示指定的兼容版本即表示配置生效。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

