百川升级指南
针对阿里百川弃用3.x版本问题,需升级4.x版本。
以下是安卓升级的一些整理,仅供参考。
官方文档地址:https://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.327cbe48Ev3F1J&treeId=129&articleId=118203&docType=1
-
1.确定目标版本(3.1.1升级至4.0.2)
-
2.按照官方文档,引入依赖(jar,aar)
-
3.如果此时遇到无法完成引入,检查maven仓库(repositories)
确认是否引用如下maven ,如果没有,请添加
maven {
url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
}
确认是否引用如下maven,如果有,请删除
maven {
url "http://mvnrepo.alibaba-inc.com/mvn/repository"
}
-
4.确定页面打开方式,是根据url还是跳转详情或店铺,官方删除了AlibcPage
根据url跳转需要用openByUrl方法
跳转详情或店铺需要用openByUrl方法,目前支持传入 "detail" "cart",跳详情页和购物车
传递参数与3.x版本几乎没有差异 -
5.更新页面打开方式(AlibcShowParams)
setOpenType(打开方式,取消H5,目前只有Native和Auto)
setClientType(taobao---唤起淘宝客户端;tmall---唤起天猫客户端)
setBackUrl(小把手,唤端返回的scheme,可以传入自定义的scheme,或者传入百川提供的默认scheme:alisdk://)(实际测试了一下,不传就没有返回小把手,但是传了其他的还是会返回原来的app)
setNativeOpenFailedMode(如果跳转上面设置的OpenType失败了,将会启用该模式,比如跳淘宝,但用户没有安装淘宝)(该方法4种模式如下,自行选择)
AlibcNativeFailModeNONE, AlibcNativeFailModeJumpBROWER, AlibcNativeFailModeJumpDOWNLOAD, AlibcNativeFailModeJumpH5;
degradeUrl(可自行设置降级url,如果唤端失败且设置了降级url,则加载该url) -
6.修改登录授权
AlibcLoginCallback()的成功回调增加参数,按照文档修改
alibcLogin.showLogin(new AlibcLoginCallback() {
@Override
public void onSuccess(int result, String userId, String nick) {
-
7.修改授权登录webview(按需)
mWebView.loadUrl替换成openByUrl方法
注意,这里引入的webview,webViewClient,webChromeClient要与当前页面一致。 -
8.修改代码混淆
-keepattributes Signature
-ignorewarnings
-keep class javax.ws.rs.** { *; }
-keep class com.alibaba.fastjson.** { *; }
-dontwarn com.alibaba.fastjson.**
-keep class sun.misc.Unsafe { *; }
-dontwarn sun.misc.**
-keep class com.taobao.** {*;}
-keep class com.alibaba.** {*;}
-keep class com.alipay.** {*;}
-dontwarn com.taobao.**
-dontwarn com.alibaba.**
-dontwarn com.alipay.**
-keep class com.ut.** {*;}
-dontwarn com.ut.**
-keep class com.ta.** {*;}
-dontwarn com.ta.**
-keep class org.json.** {*;}
-keep class com.ali.auth.** {*;}
-dontwarn com.ali.auth.**
-keep class com.taobao.securityjni.** {*;}
-keep class com.taobao.wireless.security.** {*;}
-keep class com.taobao.dp.**{*;}
-keep class com.alibaba.wireless.security.**{*;}
-keep interface mtopsdk.mtop.global.init.IMtopInitTask {*;}
-keep class * implements mtopsdk.mtop.global.init.IMtopInitTask {*;}