Cordova无法安装'cordova-plugin-whitelist':错误:ENOENT:没有这样的文件或目录AndroidManifest.xml

Kum*_*ini 8 android build cordova ibeacon

我在OSx 10.13.2上安装了Cordova 8.0.0,其中包含Node v8.5.0和npm v5.5.1.

添加插件后cordova-plugin-ibeacon,当我这样做时cordova platform add android,我收到以下错误:

无法安装'cordova-plugin-whitelist':错误:ENOENT:没有这样的文件或目录AndroidManifest.xml

截图:

截图

Bha*_*wal 16

您正在使用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
Run Code Online (Sandbox Code Playgroud)

  • 有效.谢谢!希望7.0.0源码即将修复. (2认同)

小智 7

这有点晚了.但在遇到类似问题时,请分享一些个人观察.

如果有一个未更新的旧插件与platform@7.0.0一起使用,则构建过程将失败.至少对我来说就是这种情况.安装这个不兼容的插件后,它会搞乱平台中的文件.之后尝试通过删除插件来抢救项目也会失败,因为安装时文件会被放入错误的目录中.您将不得不删除平台"cordova platform rm",然后是行为不当的插件"cordova plugin rm",并在构建可以修复之前重新添加您的平台.

为什么android@6.30和android@6.4.0可能工作是因为它可能使用较旧的平台项目目录布局,它似乎使用顶级/ platforms/android目录为'res'和'libs'文件夹.

从android@7.0.0开始,我注意到它添加了'app'子目录,你的'config.xml'和'res'预计在'/ platforms/android/app/src/main/res/xml/config. xml'而不是'/platforms/android/res/xml/config.xml'.

较旧的插件可能具有将文件复制到错误位置的安装/删除脚本.

解决这个问题的唯一两种方法是按照Bharat Biswal的建议更新插件或降级平台.

如果有人有更明确的答案,那就太好了.