使用Ionic開發(fā)跨平臺應用遇到的各種坑,及解決方法
Q1: WebView受安卓系統(tǒng)版本的影響出現(xiàn)兼容問題(Ionic兼容問題)
安裝插件
- cordova-plugin-crosswalk-webview
- 安裝命令
$ cordova plugin add cordova-plugin-crosswalk-webview - 使用這個插件會增大20~30M,APP會使用crosswalk WebView而不是系統(tǒng)自帶的,就不會出現(xiàn)兼容性問題(cordova插件除外)
-
<preference name="xwalkMultipleApk" value="false" />使用這個插件之后apk會生成一堆,就是一堆,各種版本,對各個版本不熟悉或者強迫癥或者選擇困難癥可以添加到config.xml中 -
cordova clean如果之前打過包,安裝之后運行再打包,修改config.xml中某些參數(shù)后打包失敗也可以試試
- 安裝命令
<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,如果要兼容更低的版本自己看著辦吧
- 已經(jīng)安裝過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