lixiwang / cordova-plugin-fastrde-mqtt

Cordova plugin to communicate via mqtt for ios and android
0 stars 0 forks source link

Install Bugs: 安装时,依赖的plugins 版本太旧了,和新版本冲突 #1

Open lixiwang opened 6 years ago

lixiwang commented 6 years ago

在cordova 8.0环境下,cordova plugin add cordova-plugin-fastrde-mqtt,依赖的plugins 版本太旧了,和新版本冲突。 Failed to install 'cordova-plugin-fastrde-mqtt': Error: ENOENT: no such file or directory, open 'D:\2020\666\myapp3\platforms\android\AndroidManifest.xml'

lixiwang commented 6 years ago

找到了答案: 这个问题的原因就是新版本的cordova 7.0.0及以上版本对于新的AndroidManifest.xml路径还没有更新,导致找不到AndroidManifest.xml,解决方法如下:

npm uninstall -g cordova
npm install -g cordova@6.5.0

即卸载新版本,安装7.0.0以下的版本,这时候再构建,问题解决。

还有另一种解决办法,这是Cordova官方的解决办法:

在config.xml将路径改为正确路径

<!-- An existing config.xml -->
<edit-config file="AndroidManifest.xml" target="/manifest/application" mode="merge">

<!-- needs to change to -->
<edit-config file="app/src/main/AndroidManifest.xml" target="/manifest/application" mode="merge">
lixiwang commented 6 years ago

I just modify 'platforms\android\cordova\lib\AndroidStudio.js'. Line 14: change var eclipseFiles = ['AndroidManifest.xml', 'libs', 'res']; to var eclipseFiles = ['AndroidManifest.xml', 'res'];

then rerun:

cordova plugin add cordova-plugin-fastrde-mqtt --force

then All is OK!