使用阿里百川HotFix

前言:首先要弄懂HotFix是干嘛的,不然就别向下看了。这里仅仅根据官方文档的代码书写,亲测可用,不做理论指导。

Android Studio集成:

添加maven仓库地址:

  1. repositories {
  2. maven {
  3. url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories"
  4. }
  5. }

添加gradle坐标版本依赖:

  1. dependencies {
  2. compile ‘com.taobao.android:alisdk-hotfix:2.0.9‘
  3. }

权限说明:

  1. <! -- 网络权限 -->
  2. <uses-permission android:name="android.permission.INTERNET" />
  3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  4. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  5. <! -- 外部存储读权限 -->
  6. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

配置AndroidManifest文件:

  1. <meta-data
  2. android:name="com.taobao.android.hotfix.IDSECRET"
  3. android:value="App ID" />
  4. <meta-data
  5. android:name="com.taobao.android.hotfix.APPSECRET"
  6. android:value="App Secret" />
  7. <meta-data
  8. android:name="com.taobao.android.hotfix.RSASECRET"
  9. android:value="RSA密钥" />

混淆配置:

  1. #基线包使用,生成mapping.txt
  2. -printmapping mapping.txt
  3. #生成的mapping.txt在app/buidl/outputs/mapping/release路径下,移动到/app路径下
  4. #修复后的项目使用,保证混淆结果一致
  5. #-applymapping mapping.txt
  6. #hotfix
  7. -keep class com.taobao.sophix.**{*;}
  8. -keep class com.ta.utdid2.device.**{*;}

SDK接口配置:

  1. package xin.ceet.com.tencentdemo;
  2. import android.app.Application;
  3. import com.taobao.sophix.PatchStatus;
  4. import com.taobao.sophix.SophixManager;
  5. import com.taobao.sophix.listener.PatchLoadStatusListener;
  6. /**
  7. * Created by asus on 2017/7/5.
  8. */
  9. public class MyApplication extends Application {
  10. private String appVersion = "1.0.0";
  11. @Override
  12. public void onCreate() {
  13. super.onCreate();
  14. SophixManager.getInstance().setContext(this)
  15. .setAppVersion(appVersion)
  16. .setAesKey(null)
  17. .setEnableDebug(true)
  18. .setPatchLoadStatusStub(new PatchLoadStatusListener() {
  19. @Override
  20. public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) {
  21. // 补丁加载回调通知
  22. if (code == PatchStatus.CODE_LOAD_SUCCESS) {
  23. // 表明补丁加载成功
  24. } else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
  25. // 表明新补丁生效需要重启. 开发者可提示用户或者强制重启;
  26. // 建议: 用户可以监听进入后台事件, 然后应用自杀
  27. } else if (code == PatchStatus.CODE_LOAD_FAIL) {
  28. // 内部引擎异常, 推荐此时清空本地补丁, 防止失败补丁重复加载
  29. // SophixManager.getInstance().cleanPatches();
  30. } else {
  31. // 其它错误信息, 查看PatchStatus类说明
  32. }
  33. }
  34. }).initialize();
  35. SophixManager.getInstance().queryAndLoadNewPatch();
  36. }
  37. }

版本说明:

  1. 说明一:patch是针对客户端具体某个版本的,patch和具体版本绑定
  2. eg. 应用当前版本号是1.1.0, 那么只能在后台查询到1.1.0版本对应发布的补丁, 而查询不到之前1.0.0旧版本发布的补丁.
  3. 说明二:针对某个具体版本发布的新补丁, 必须包含所有的bugfix, 而不能依赖补丁递增修复的方式, 因为应用仅可能加载一个补丁
  4. eg. 针对1.0.0版本在后台发布了一个补丁版本号为1的补丁修复了bug1, 然后发现此时针对这个版本补丁1修复的不完全, 代码还有bug2, 在后台重新发布一个补丁版本号为2的补丁, 那么此时补丁2就必须同时包含bug1和bug2的修复才行, 而不是只包含bug2的修复(bug1就没被修复了)
时间: 2024-11-07 00:26:50

使用阿里百川HotFix的相关文章

用户说体验 | 关于阿里百川HotFix你需要了解的一些细节

最近很火的热修复技术,无意中了解到阿里百川也在做,而且Android.iOS两端都支持,所以决定试一试.试用一段时间后,感觉还不错,主要是他们有一个团队在不断维护更新这个产品,可以看到他们的版本更新记录.基本每月都有更新,从修复方法到新增类,问了客服据说后面还会把当前已有的限制全部去掉,要是真能实现这些还挺令人激动的.下面说说我接入使用的一些心得体会吧. 开发者通过淘宝账号注册即可成为阿里百川的用户,但是如果要使用阿里百川HotFix还需要申请开通,大概可以分下面几个步骤: 1.   注册百川

阿里百川HotFix1.3.3初体验

先来说说它适用的场景及一些局限性: 首先,它是一个热修复的解决方案,可以紧急修复我们的线上bug,并且针对于第一次加载补丁的时候,它是及时生效的,并且集成起来相对简单,这是它的优点. 当然,它的局限性也是显而易见的: 1.只能修改方法体内部: public static void test(Context context) { //旧代码 //Toast.makeText(context.getApplicationContext(), "It's a Bug", Toast.LENG

阿里百川无线开放大会

2015-07-16是阿里百川无线开放大会举办的日子,为了长些见识,特地从南京赶到杭州来观摩观摩. 一直都在疑惑阿里百川与百度云,阿里云是什么区别,这一行终于理解了,阿里百川是要做一个“基础平台运营商”,而阿里云,百度云只要提供服务器. 讲了最大的体会之后,首先看一下上午下午的流程: 然后逐个将各位牛人的分享总结一下. 1.逍遥子 关于逍遥子的实录在此处有记录: http://tech.huanqiu.com/news/2015-07/7024964.html 凭着记忆,写些重点: 以前互联网讨

淘宝(阿里百川)手机客户端开发日记第十篇 阿里百川服务器环境介绍

阿里百川的官方网址:http://baichuan.taobao.com/ ,具体详情,自己点击去查看. 提前声明:本人和淘宝一点关系没有,最近是自己有个项目,需要使用它们的平台,来开发android,IOS的客户端产品,所以将平时在实践过程中,很多重要的心得记下,方便自己后期遇到问题,随时查阅:同时,也能帮助很多爱好编程者提供一些资料,毫无其它目的,谢谢! 这节课,将向你介绍下它的大致内容:刚开始接触阿里百川,很多人会遇到各种各样的,貌似千奇百怪的问题,我将以简明的方式,让大家快速搭配环境,来

如何通过阿里百川的集成,以及manifest的权限配置完成淘客商品详情页的链接

首先,对一个刚入行的菜鸟来说,集成SDK,再使用里面的方法 ,完成对该功能的调用,还是比较困难的,因为在官方所给的demo中有提示,但是不完全 那么你就要求助另外一个重要的角色了.客服! 首先导入jar包: 应为阿里百川的sdk是根据你当前的apk获得的首先你得登陆进去也就是这个页面 下载完sdk后解压,是这样的 里面有个demo,根据demo里面的manifest的权限配置.完成配置:主要是Trade就是这个 完成这个步骤之后.在mainactivity中调用一下这个方法 如果Toast的东西

阿里百川地址,趣拍iOS及andriod SDK--视频美颜,各种滤镜,仅做记录

阿里百川地址, http://baichuan.taobao.com/portal/doc?articleId=500 趣拍SDK http://www.qupai.me/sdk.html 版权声明:本文为博主原创文章,未经博主允许不得转载.

淘宝(阿里百川)手机客户端开发日记第十二篇 mysql的认识

我这里用的是wamp,大家可以到网上去下载对应的包,自行安装,对于程序员来讲,安装软件大部分都应该不是问题的,所以我不去将具体安装的方法. wamp安装好后,在我们屏幕的右下角, 这样的图标,我们右键点击它,由于我点击右键的时候,没法截图,只好用语言来描述了,我们要将其切换到在线状态.如果80端口被占用,你可能本地安装了IIS服务器,你需要去关闭它,IIS默认使用了80端口:或者你不关闭,你可以将wamp服务器端口改掉,比如8080端口.具体的方法,网上很多了,大家参照下把端口改掉,然后切换在线

阿里百川无线开放大会参与记录

参会方:华西都市报.创客中国.高新区创新中心 .苏河汇.36kr.Camera360.阿里百川.友盟 上午主会场 一.高新区创新中心 1.以色列故事-许多杰出科学家的出现 2.驱动地方经济发展的引擎 2.1 招商引资 以资本和项目引进,微笑曲线中间(制造),见效快.根基弱,以土地.劳动力等要素投入为主,具有阶段性特点 2.2 创新孵化 人才引进,微笑曲线两段(研发.总部.营销),见效慢.根基强,以孵化培育为主,永恒驱动力 3 创新科技服务体系 特点:1233工程 3.1 一个中心:招才引智.孵化

Android 热修复的相关总结(主要是阿里百川的)

1.主流的热修复是 QQ .微信和阿里百川 2.我建议使用阿里百川的原因第一:团队在钉钉有专门的客服   二.对于新手来说非常方便 3.操作步骤:阿里百川的api文档很详细 我只说一些坑: 1>下面的初始化只能放在oncreat()中 放在其他文件中没什么作用 private void initHotfix() { String appVersion; try { appVersion = this.getPackageManager().getPackageInfo(this.getPacka