Cordova新项目添加phonegap-backgroundjs插件,如何让其识别AndroidManifest.xml新路径?
解决phonegap-backgroundjs插件适配Cordova Android新Manifest路径的问题
我太懂这种老插件跟不上项目结构更新的糟心情况了——你现在遇到的就是这个问题:phonegap-backgroundjs还在找旧版Cordova的platforms/android/AndroidManifest.xml,但新版项目里这个文件已经移到platforms/android/app/src/main/AndroidManifest.xml了。下面给你几个实用的解决办法:
方法1:修改插件的plugin.xml(最靠谱的长期方案)
直接调整插件内部的配置,让它指向新的Manifest位置:
- 找到你项目里的
plugins/phonegap-backgroundjs目录 - 打开里面的
plugin.xml文件 - 搜索所有包含
AndroidManifest.xml的config-file标签,比如:<config-file target="AndroidManifest.xml" parent="/manifest/application"> <!-- 插件的权限或配置项 --> </config-file> - 把
target属性的值改成app/src/main/AndroidManifest.xml,修改后如下:<config-file target="app/src/main/AndroidManifest.xml" parent="/manifest/application"> <!-- 插件的权限或配置项 --> </config-file> - 保存后,执行
cordova clean android && cordova prepare android,插件就能正确识别新路径了。
方法2:创建软链接(快速临时 workaround)
如果不想改插件代码,可以在旧路径位置建个软链接指向新文件,骗插件找到正确的Manifest:
- Windows(需管理员权限):打开CMD,进入
platforms/android目录,执行:mklink AndroidManifest.xml app\src\main\AndroidManifest.xml - macOS/Linux:打开终端,进入
platforms/android目录,执行:ln -s app/src/main/AndroidManifest.xml AndroidManifest.xml
注意:每次执行cordova clean或者重新添加Android平台后,软链接可能会消失,需要重新创建。
方法3:给插件提交修复(帮助更多人)
如果这个插件还在维护,你可以fork它的仓库,修改plugin.xml里的路径后提交PR;如果已经没人维护了,也可以把修改后的版本发布到npm自己用,或者分享给其他有需要的开发者。
最后提醒下,修改完配置后一定要先clean再prepare,避免缓存影响效果哦。
内容的提问来源于stack exchange,提问作者huggie
相关产品推荐
相关产品推荐

