cordova-cli@8.0和cordova-android@7.0.0问题说明

查看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
image.png

适用版本为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目录下,安装完所有插件后复制回原来位置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容