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

25次阅读

共计 1820 个字符,预计需要花费 5 分钟才能阅读完成。

目录

Weex 系列 (序) —— 总要知道原生的一点东东 (iOS)
Weex 系列 (序) —— 总要知道原生的一点东东 (Android)
Weex 系列 (1) —— Hello World 项目
Weex 系列 (2) —— 页面跳转和通信
Weex 系列 (3) —— 单页面还是多页面
Weex 系列 (4) —— 老生常谈的三端统一
Weex 系列 (5) —— 封装原生组件和模块
Weex 系列 (6) —— webview 和 web 组件
Weex 系列 (7) —— 踩坑填坑的总总
[Weex 系列 (8) —— 原理流程简析 ]
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);
}

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 的方法。
在升级的过程中主要遇到的就是下面这个错误:

在 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”
}
我这边改完如图:
最后还是感谢大家,如果喜欢欢迎点赞收藏啊~

正文完
 0