我在OSx 10.13.2上安装了Cordova 8.0.0,其中包含Node v8.5.0和npm v5.5.1。
添加插件cordova-plugin-ibeacon
后,当我执行cordova platform add android
时,我收到以下错误:
未能安装&#cord; cordova-plugin-whitelist':错误:ENOENT:没有这样的文件或目录AndroidManifest.xml
截图:
答案 0 :(得分:15)
您使用的是cordova-android@~7.0.0
我最近遇到了与Cordova 8.0.0的cordova-android repo相同的问题
将cordova-android降级为6.4.0如下:
cordova platform remove android
cordova platform add android@6.4.0
答案 1 :(得分:7)
这有点晚了。但在遇到类似问题时,请分享一些个人观察。
如果有一个未更新的旧插件与platform@7.0.0一起使用,则构建过程将失败。至少对我来说就是这种情况。安装这个不兼容的插件后,它会搞乱平台中的文件。之后尝试通过删除插件来抢救项目也会失败,因为安装时文件会被放入错误的目录中。你必须删除平台" cordova platform rm"接着是行为不端的插件" cordova plugin rm"并在构建可以修复之前重新添加您的平台。
为什么android@6.30和android@6.4.0可能正常工作是因为它可能正在使用较旧的平台项目目录布局,它似乎使用顶级/ platforms / android目录来解决问题。和' libs'文件夹中。
从android@7.0.0开始,我注意到它添加了应用程序'子目录,以及您的“config.xml”#39;和' res'预期在' /platforms/android/app/src/main/res/xml/config.xml'而不是' /platforms/android/res/xml/config.xml'。
较旧的插件可能具有将文件复制到错误位置的安装/删除脚本。
解决此问题的唯一两种方法是按照Bharat Biswal的建议更新插件或降级平台。
如果有人有更明确的答案,那就太棒了。
答案 2 :(得分:1)
您正在使用cordova 7.0.0或cordova 8.0.0, IONIC也观察到类似的问题
您会发现大多数插件存在此问题 如admobpro,admob,itablet,whitelist等。
现在更好地回滚到之前的cordova版本,即6.3.0或6.4.0
如果您看到任何插件的上述问题,请尝试此操作。
cordova platform remove android
cordova platform add android@6.3.0
或强>
cordova platform remove android
cordova platform add android@6.4.0