科尔多瓦未能安装&#cord; cordova-pluggin-whitelist':错误:ENOENT:没有这样的文件或目录AndroidManifest.xml

时间:2017-12-30 12:48:41

标签: android cordova build ibeacon

我在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

截图:

Screenshot

3 个答案:

答案 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