Weex系列(9) —— Weex和安卓升級兼容

目錄

最近剛升級,先新開一章記錄一下吧,怕忘了(doge)。html

一、Weex升級相關java

iOS:android

pod 'WeexSDK', '0.20.1'

目前來看卻是沒有什麼問題,後續再說。
Android:web

compile 'com.taobao.android:weex_sdk:0.20.0.2'

Android就有問題嘍,一堆以下的問題。方法接口什麼的直接移除,真是個狠人啊,這個只能你們一個個文件去改嘍,官網連接:https://weex.apache.org/zh/gu...apache

好比我這邊是把segmentfault

public GifImage(WXSDKInstance instance, WXDomObject dom, WXVContainer parent) {
        super(instance, dom, parent);
    }

換成:weex

@Deprecated
    public GifImage(WXSDKInstance instance, WXVContainer parent, String instanceId, boolean isLazy, BasicComponentData basicComponentData) {
        this(instance, parent, basicComponentData);
    }
    public GifImage(WXSDKInstance instance,
                  WXVContainer parent, BasicComponentData basicComponentData) {
        super(instance, parent, basicComponentData);
    }

clipboard.png

二、安卓升級相關dom

升級以前先來解釋3個sdk吧:ide

原文章:https://medium.com/androiddev...ui

compileSdkVersion

compileSdkVersion是告訴Gradle用哪一個版本Android SDK編譯應用程序。使用新API的時候,就須要升級對應版本的Android SDK了。

應該強調的是,更改compileSdkVersion不會改變運行時行爲。雖然更改compileSdkVersion時可能存在新的編譯器警告/錯誤,但您的compileSdkVersion不包含在您的APK中:它純粹在編譯時使用。 (你應該確實修復這些警告 - 它們是由於某種緣由而添加的!)

所以,強烈建議您始終使用最新的SDK進行編譯。您將得到對現有代碼進行新編譯檢查的全部好處,避免新棄用的API,並準備好使用新API。

minSdkVersion

若是compileSdkVersion表示可否能用最新API,那minSdkVersion就是應用能運行的最低版本,若是用戶的裝置小於這個值,在Google Play商店就會不顯示。


我在網上搜了一下設置1四、15基本就是底線了,能覆蓋Google Play商店99.9%的用戶吧。

targetSdkVersion

三者中最有趣的是targetSdkVersion。targetSdkVersion是Android 提供向前兼容的主要依據。


好比用戶系統是26,如今升級到了27,其中有一個方法26和27是不一樣的,可是若是應用的targetSdkVersion設置的是26,應用仍舊使用的是26的方法。

在升級的過程當中主要遇到的就是下面這個錯誤:

clipboard.png

在stackoverflow上找的解決辦法:https://stackoverflow.com/que...

A. Add this line in the defaultConfig section to enable multiDex

multiDexEnabled true

B. Than set the dexOptions, like this:

dexOptions {
    incremental true
    javaMaxHeapSize "4G"
}

我這邊改完如圖:
clipboard.png

最後仍是感謝你們,若是喜歡歡迎點贊收藏啊~

相關文章
相關標籤/搜索