使用Ionic開發(fā)跨平臺(tái)應(yīng)用遇到的各種坑杀赢,及解決方法
Q1: WebView受安卓系統(tǒng)版本的影響出現(xiàn)兼容問題(Ionic兼容問題)
安裝插件
- cordova-plugin-crosswalk-webview
- 安裝命令
$ cordova plugin add cordova-plugin-crosswalk-webview
- 使用這個(gè)插件會(huì)增大20~30M凯楔,APP會(huì)使用crosswalk WebView而不是系統(tǒng)自帶的,就不會(huì)出現(xiàn)兼容性問題(cordova插件除外)
-
<preference name="xwalkMultipleApk" value="false" />
使用這個(gè)插件之后apk會(huì)生成一堆,就是一堆,各種版本朝捆,對(duì)各個(gè)版本不熟悉
或者強(qiáng)迫癥
或者選擇困難癥
可以添加到config.xml中 -
cordova clean
如果之前打過包,安裝之后運(yùn)行再打包懒豹,修改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" />
<!-- 精簡(jiǎn)模式芙盘,安裝包會(huì)小一些 -->
<variable name="XWALK_MODE" value="lite" />
<!-- 生成多個(gè)APK -->
<variable name="XWALK_MULTIPLEAPK" value="false" />
</plugin>
- cordova-android-support-gradle-release
- 安裝crosswalk-webview后可能會(huì)和gradle沖突,安裝這個(gè)插件就好了
Q2: 使用crosswalk還是不能兼容到安卓19以下
添加Android平臺(tái)后config.xml中<engine name="android" spec="7.0.0" />
默認(rèn)是7.0.0歼捐,這個(gè)是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 |
這樣子就懂了吧,默認(rèn)的7.0.0只支持19-27豹储,如果要兼容更低的版本自己看著辦吧
- 已經(jīng)安裝過Android平臺(tái)的使用
cordova platform update android@x.x.x
- 沒有安裝過的使用
cordova platform add android@x.x.x
- 建議安裝之前把
platforms
目錄下對(duì)應(yīng)的文件夾刪掉 - 如果不清楚小版本命令可以直接
cordova platform update android@6
會(huì)自動(dòng)安裝最新的 -
<preference name="android-minSdkVersion" value="19" />
config.xml