查看cordova-cli版本
执行升级cordova-cli命令(必要时添加sudo提升权限):
npm update cordova -g
然后,可执行下面命令查看当前版本(为v8.0):
cordova -v
cordova添加Android平台
执行命令:
cordova platform add android
默认安装cordova-android@~7.0.0,实际上大于等于7.0的当前可选版本就只有cordova-android@7.0.0,所以安装了它。
问题出现
cordova-android@7.0.0版本修改了目录结构,把android目录下的AndroidManifest.xml
移到了android/app/src/main/AndroidManifest.xml
,而大部分旧的插件还没更新到支持cordova-android@7.0.0,如果依赖到AndroidManifest.xml
则会因为找不到该文件而报错。
两种解决方案
1. 降级处理
既然cordova-android@7.0.0的问题,那降级选择一个版本,执行命令查看下可选版本:
npm view cordova-android
适用版本为6.4.0,所以添加平台时指定版本:
cordova platform add android@6.4.0
2. 调整适应处理
等待插件更新到支持cordova-android@7.0.0,或者自行修改插件plugin.xml里面的类似如下内容的AndroidManifest.xml路径:
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</config-file>
个人感觉若这样处理,当前工作量比较大,个人猜测可以使用“移花接木”法(但我没去试):
把
android/app/src/main/AndroidManifest.xml
复制到android目录下,安装完所有插件后复制回原来位置。