使用Ionic开发跨平台应用遇到的各种坑,及解决方法
Q1: WebView受安卓系统版本的影响出现兼容问题(Ionic兼容问题)
安装插件
- cordova-plugin-crosswalk-webview
- 安装命令
$ cordova plugin add cordova-plugin-crosswalk-webview
- 使用这个插件会增大20~30M,APP会使用crosswalk WebView而不是系统自带的,就不会出现兼容性问题(cordova插件除外)
-
<preference name="xwalkMultipleApk" value="false" />
使用这个插件之后apk会生成一堆,就是一堆,各种版本,对各个版本不熟悉
或者强迫症
或者选择困难症
可以添加到config.xml中 -
cordova clean
如果之前打过包,安装之后运行再打包,修改config.xml中某些参数后打包失败也可以试试
- 安装命令
<plugin name="cordova-plugin-crosswalk-webview" spec="^2.4.0">
<variable name="XWALK_VERSION" value="23+" />
<variable name="XWALK_LITEVERSION" value="xwalk_core_library_canary:17+" />
<variable name="XWALK_COMMANDLINE" value="--disable-pull-to-refresh-effect" />
<!-- 精简模式,安装包会小一些 -->
<variable name="XWALK_MODE" value="lite" />
<!-- 生成多个APK -->
<variable name="XWALK_MULTIPLEAPK" value="false" />
</plugin>
- cordova-android-support-gradle-release
- 安装crosswalk-webview后可能会和gradle冲突,安装这个插件就好了
Q2: 使用crosswalk还是不能兼容到安卓19以下
添加Android平台后config.xml中<engine name="android" spec="7.0.0" />
默认是7.0.0,这个是cordova-android的版本,直接上表格
cordova-android Version | Supported Android API-Levels | Equivalent Android Version |
---|---|---|
7.X.X | 19 - 27 | 4.4 - 8.1 |
6.X.X | 16 - 26 | 4.1 - 8.0.0 |
5.X.X | 14 - 23 | 4.0 - 6.0.1 |
4.1.X | 14 - 22 | 4.0 - 5.1 |
4.0.X | 10 - 22 | 2.3.3 - 5.1 |
3.7.X | 10 - 21 | 2.3.3 - 5.0.2 |
这样子就懂了吧,默认的7.0.0只支持19-27,如果要兼容更低的版本自己看着办吧
- 已经安装过Android平台的使用
cordova platform update android@x.x.x
- 没有安装过的使用
cordova platform add android@x.x.x
- 建议安装之前把
platforms
目录下对应的文件夹删掉 - 如果不清楚小版本命令可以直接
cordova platform update android@6
会自动安装最新的 -
<preference name="android-minSdkVersion" value="19" />
config.xml
网友评论