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

目錄

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

1、Weex升級相關

iOS:

pod 'WeexSDK', '0.20.1'

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

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

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

比如我這邊是把

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

換成:

@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

2、安卓升級相關

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

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

compileSdkVersion

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

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

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

minSdkVersion

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


我在網上搜了一下設置14、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

最後還是感謝大家,如果喜歡歡迎點贊收藏啊~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章