繁体   English   中英

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

[英]Cordova failed to install 'cordova-plugin-whitelist': Error: ENOENT: no such file or directory AndroidManifest.xml

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

截图:

截图

您正在使用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

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

如果有一个未更新的旧插件与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的建议更新插件或降级平台。

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

您使用的是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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM