升级Cordova Android 13构建APK遇AndroidManifest.xml覆盖错误求解决
解决Cordova Android 13(目标SDK34/Android14)打包时“AndroidManifest.xml已存在”的问题
针对你升级后遇到的Zip file ... already contains entry 'AndroidManifest.xml'报错,以及旧方案android.useNewApkCreator=false在Gradle8.7中失效的问题,可按以下步骤解决:
清理构建缓存
先执行清理命令清除旧的构建产物:cordova clean android清理完成后重新执行构建命令,很多时候缓存残留会导致重复文件冲突。
检查并更新Cordova插件
旧版本插件可能存在不兼容Cordova Android13的情况,尤其是会修改AndroidManifest.xml的插件(如权限、配置类插件):- 执行
cordova plugin list查看已安装插件 - 将所有插件更新到最新兼容版本,命令示例:
cordova plugin update cordova-plugin-xxx - 若更新后仍报错,尝试逐一移除可疑插件并重新构建,定位冲突来源
- 执行
配置Gradle跳过重复文件检查
在项目的platforms/android/app/build.gradle文件中,找到android节点,添加packagingOptions配置,让Gradle遇到重复的AndroidManifest.xml时仅保留第一个:android { // 其他原有配置... packagingOptions { pickFirst 'AndroidManifest.xml' } }更新Cordova Android到最新补丁版
官方可能已针对该打包问题发布补丁,执行命令升级到13分支的最新版本:cordova platform update android@13
注:
android.useNewApkCreator选项在Gradle8.0及以上版本已被移除,因此旧方案不再适用,需使用上述替代方案。
内容的提问来源于stack exchange,提问作者Pierre
相关产品推荐
相关产品推荐

