[英]No such file AndroidManifest.xml with cordova >= 7
我有一个离子项目,我需要使用Batch 。 为了在最后一个版本(2.0.0)中使用Batch,我应该将我的cordova-android
更新为>=7.0.0
。
但问题是,如果我将该依赖关系更新为所需版本,则所有其他插件都会失败,因为它们还不支持该cordova-android
版本。
基本上,它说没有找到AndroidManifest.xml
文件:
(node:8420) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: ENOENT: no such file or directory, open '/<mypath>/platforms/android/AndroidManifest.xml'
如果我这样做的话:
cordova platform remove android
)。 rm -rf /node_modules /plugins
)。 packaje.json
和config.xml
中的插件条目。 cordova platform add android
)。 android平台已创建。 但是,如果我尝试添加批处理插件我有相同的错误(当他们说他们支持cordova-android >= 7
)时:
ionic cordova plugin add com.batch.cordova
> cordova plugin add com.batch.cordova --save
Installing "com.batch.cordova" for android
Failed to install 'com.batch.cordova': Error: ENOENT: no such file or directory, open '/<mypath>/platforms/android/AndroidManifest.xml'
我之所以提到这个插件是因为他们说他们只支持cordova-android >= 7
但是我的情况下所有的cordova插件都会发生这种情况。
我可以使用与旧版本cordova-android
兼容的次要版本的Batch插件( 1.7.4
)。 但是那个版本的Batch没有In app messaging功能,而且在我的情况下它是必需的。 该版本只有推送通知和事件跟踪 :/
这是我的离子信息:
cli packages: (/usr/lib/node_modules)
@ionic/cli-utils : 1.19.2
ionic (Ionic CLI) : 3.20.0
global packages:
cordova (Cordova CLI) : 8.0.0
local packages:
@ionic/app-scripts : 3.1.10
Cordova Platforms : android 7.1.1
Ionic Framework : ionic-angular 3.9.2
System:
Android SDK Tools : 26.0.2
Node : v6.14.3
npm : 4.6.1
OS : Linux 4.4
Environment Variables:
ANDROID_HOME : /home/ivan/Android
Misc:
backend : legacy
对此有何解决方案? 我找不到任何解决方案。 人们对特定插件有这个错误,但在我的情况下,所有插件都会发生这种错误!
谢谢!
根据文档,您需要使用“ionic cordova plugin add yourpluginname --nofetch”来在Cordova7中安装插件。 它在cordova 7文档中定义。 请参阅以下链接了解更多详情:
https://cordova.apache.org/news/2017/05/04/cordova-7.html
会是这样的
ionic cordova plugin add com.batch.cordova --nofetch
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.