带7.0插件兼容性的Cordova AndroidManifest.xml不存在

时间:2018-06-20 19:04:00

标签: android cordova

在安装插件或仅将7.0 / 7.1 Android平台添加到Cordova项目时,系统将返回错误failed to install 'plugin name': Error: ENOENT: no such file or directory, open '...application directory.../platforms/android/AndroidManifest.xml' 尽管,该插件从不引用旧文件位置。

根据Cordova博客here,插件已将其编辑配置AndroidManifest.xml目标切换为app/src/main/AndroidManifest.xml,但仍然会导致错误。

1 个答案:

答案 0 :(得分:0)

解决方案是,除了res之外,将对根app/src/main/res目录的所有引用移动到AndroidManifest.xml

例如,如果您的应用主config.xml文件中有引用,例如

<resource-file src="resources/android/notification-icon.png" 
    target="res/drawable/notification_icon.png" />

然后将target更改为类似

<resource-file src="resources/android/notification-icon.png" 
    target="app/src/main/res/drawable/notification_icon.png" />

以便在cordova-android@7.0.0或更高版本上工作。

对于大多数人来说,对这个问题的最可能答案是: Cordova does not create AndroidManifest.xml但是,此答案是我的项目中解决此问题的唯一方法。

此发现的功劳归功于@ryanwilliams对@jcesarmobile对以上链接问题的回答的评论,着重指出

  

如果您在项目的根目录中有一个“ res”文件夹,即使更新了plugin.xml中的路径(由于检测到Eclipse项目),您仍然会收到此错误