Cordova安装'cordova-plugin-whitelist'失败:错误:ENOENT:没有找到AndroidManifest.xml文件。

8
我在OSx 10.13.2上使用Cordova 8.0.0,Node v8.5.0和npm v5.5.1。添加了插件cordova-plugin-ibeacon后,执行cordova platform add android命令时出现以下错误:

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

截屏如下:

Screenshot

3个回答

18

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

9
这有点晚了。但是在我遇到类似问题时,分享一些个人观察结果。
如果存在未更新以与platform@7.0.0兼容的旧插件,则构建过程将失败。至少对我来说是这样。安装此不兼容的插件后,它会破坏platform中的文件。之后尝试通过删除插件来挽救项目也会失败,因为在安装时文件会被放置在错误的目录中。您必须先删除平台 "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的建议降级平台。
如果有更确切的答案,那就太好了。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接