最近在学习热修复技术,主流的就是阿里的AndFix基础上开发的商业级框架Sophix和腾讯在tinker基础上开发的商业级框架Bugly,当然热修复都只是两者其中的一部分功能,还有一些其他的功能

一、Sophix

特点:

1、从底层native直接替换原有方法,在原来类的基础上进行修改。核心在于replaceMethod函数,所以只支持方法的替换,对于方法的增删、资源更新、so文件更新、类的属性替换都不支持。
2、可以立即生效,消耗很低,实测上传官网之后可以立即进行修改
3、补丁包很小,下面的就是之前实际 测试的补丁包,只是修改了一个方法和布局文件,内部只包含修改的内容,所以补丁包很小

4、由于更换底层native方法,因此对于深度定制的国产机可能存在机型适配问题
5、AndFix只能修复方法的bug,不能修改资源和so文件的bug,并且已经4年多没有更新了,存在兼容问题;Sophix可以修复方法bug、资源、so文件的问题,但是Sophix是收费的,两者接入都是比较简单的,

接入:

根据官网的接入规则接入包,然后使用Sophix提供工具生成修复包,直接上传官网即可https://emas.console.aliyun.com/?current=man#/product/3738229/push/31707161/2

阿里的EMAS移动研发平台提供多个功能

1、移动测试:远程真机测试、运行测试、用例测试
2、移动热修复:热修复,可以过滤版本机型
3、崩溃分析:崩溃、卡顿、异常
4、性能分析:启动速度、页面性能、网络请求、页面加载耗时
5、远程日志:设备的日志
6、移动推送:推送相关信息
7、移动用户反馈:用户反馈
8、移动数据分析:统计用户的信息,包括日活,用户操作日志
9、HTTPDNS:经过阿里云的网络协议解析

二、Bugly

特点:

1、让ClassLoader去加载新的类。这就必须重新启动,而且是冷启动。在没有走到业务逻辑的时候,将变更的补丁和原有的补丁一起组合成新的dex文件,并且将变更的补丁文件放在最前面,这样就能使用补丁文件,而不会继续使用后面的原来文件了,变相达到修复的功能。可以修复各类文件,包括类、资源文件、so文件
2、必须重新启动才能生效,消耗很低,但是生效需要等待十几分钟,而且必须冷启动
3、因为tinker是开源的,之前的用户就很多,文档很多
4、占用内存很大
5、今年被google play封禁了,不给使用热修复功能
6、免费的

接入:

操作步骤参考官网介绍即可:https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20200622202242
搭建的环境(实测有效):

gradle:3.4.0+5.4.1
as版本:4.1
tinker-support插件版本:1.2.1
classpath "com.tencent.bugly:tinker-support:1.2.1"
tinker版本:1.9.6
// 指定tinker依赖版本(注:应用升级1.3.5版本起,不再内置tinker)
implementation 'com.tencent.tinker:tinker-android-lib:1.9.6'
bugly版本:
implementation 'com.tencent.bugly:crashreport_upgrade:1.3.5'
implementation 'com.tencent.bugly:nativecrashreport:2.2.0'
multidex版本:
implementation "com.android.support:multidex:1.0.3"

**注意点:**执行补丁任务的时候,是选择tinker-support下的命令buildeTinkerPatchRelease,而不是上面的tinker下面的tinkerPatchRelease,上面的命令生成的不是补丁包,不包含补丁信息,是无法上传的

上传的包也是目录output/patch下的包,而不是output/apk/tinkerpatch下面的包

Bugly提供其他功能:

热更新:app热修复
版本更新:app内置版本更新功能
运营统计:即用户的操作统计数据
异常上报:包括用户的崩溃日志、ANR日志、错误日志
功能相对Sophix来说少了几个,但是满足日常所需了。

三、对比

作为商业级应用,二者热修复功能基本都满足,包括修复类、资源文件、so文件,所以使用全看个人选择了。

Android 热修复Bugly和Sophix介绍相关推荐

  1. 干货满满,Android热修复方案介绍

    摘要:在云栖社区技术直播中,阿里云客户端工程师李亚洲(毕言)从技术原理层面解析和比较了业界几大热修复方案,揭开了Qxxx方案.Instant Run以及阿里Sophix等热修复方案的神秘面纱,帮助大家 ...

  2. Android工具修复属性,Android 热修复介绍之代码修复

    什么是Android热修复技术 简单来说就是不重新安装apk的情况下,通过补丁,修复bug 正常开发流程 热修复开发流程 目前主流的热修复技术框架 阿里系的: Andfix.Hotfix.Sophix ...

  3. Android 热修复之DexPatch 介绍

    简介:Android 热修复之DexPatch 介绍 1. 方案介绍 为了解决Native模块上线后的问题,mPaas[1] 提供了热修复功能,实现不发布客户端apk场景下的热修复.目前Android ...

  4. Android热修复(1):热修复的介绍和原理解析

    一.热修复的产生概述 在开发中我们会遇到如下的情况: 1.刚发布的版本出现了严重的bug,这就需要去解决bug.测试并打渠道包在各个应用市场上重新发布,这会耗费大量的人力物力,代价会比较大. 2.已经 ...

  5. [读书笔记] 深入探索Android热修复技术原理 (手淘技术团队)

    热修复技术介绍 探索之路 最开始,手淘是基于Xposed进行了改进,产生了针对Android Dalvik虚拟机运行时的Java Method Hook技术--Dexposed. 但该方案对于底层Da ...

  6. android热修复原理底层替换,Android 热修复 - 各框架原理学习及对比

    写在开头 从15年开始各技术大佬们开始研究热修复技术,并陆续开源了许多的热修复框架.如 Jasonross 的 Nuwa,美团的 Robust,阿里的 Andfix,腾讯的 Tinker 等等...均 ...

  7. 【Android 修炼手册】常用技术篇 -- Android 热修复解析

    这是[Android 修炼手册]第 8 篇文章,如果还没有看过前面系列文章,欢迎点击 这里 查看- 预备知识 了解 android 基本开发 了解 ClassLoader 相关知识 看完本文可以达到什 ...

  8. android热补丁作用,Android热修复之 - 阿里开源的热补丁

    这里就有一个概念那就AndFix.apatch补丁用来修复方法,接下来我们看看到底是怎么实现的. 1.2 生成apatch包 假如我们收到了用户上传的崩溃信息,我们改完需要修复的Bug,这个时候就会有 ...

  9. 动态化部署:Android热修复之代码修复(一)

    前记 传统发版要经过应用市场审核这一过程,但面对需要紧急修复的bug时无疑会增加时间成本,并且为了应对现在日渐强烈的运营需求,动态化部署应运而生,包括插件化和热修复,当然插件化和热修复充满了黑科技,包 ...

  10. Android热修复——深入剖析AndFix热修复及自己动手实现

    前言 去年写过一篇热修复的文章,那时候刚开始接触,照猫画虎画的还算比较成功.但是那种修复需要重新启动APP,也就是在JAVA层实现的热修复.我们知道目前Android主流的修复还有在Native层实现 ...

最新文章

  1. 11.菜单界面、详情界面
  2. Android环境的构建
  3. CentOS7,zabbix3.4通过,zabbix-Java-gateway监控Tomcat
  4. 大话设计模式—备忘录模式
  5. mysql不能存字母,使用不常見的字母/符號時,MySql數據庫不能正確存儲數據
  6. 镜像迁移到registry_数据库迁移了解一下
  7. 转型HTML5前端工程师怎样学才能拿高薪?
  8. C++11 新关键字
  9. 台达伺服控制器接线图_【工控项目分享】台达ASDA-AB系列伺服驱动器——内部位置控制...
  10. sap php 接口,SAP调用RestfulApi接口接收数据
  11. 厦门高考成绩查询2021,2021厦门市地区高考成绩排名查询,厦门市高考各高中成绩喜报榜单...
  12. 超千人围观,普及 “反诈” 常见场景及应对手段,还有黑灰产攻防手段
  13. [随笔]openpyxl的安装
  14. CCD CMOS传感器基本工作原理
  15. navicat mysql 百度云_转载:用navicat连接百度云服务器上的mysql数据库
  16. 路由器DNS 劫持攻击情况
  17. 爬虫基础(5) -网页解析
  18. 鹿定制与国际大牌西服的10点区别?丨新浪官方长微博工具
  19. 【软考:网工】华为配置篇——补充实验(次要)
  20. 中华会计网吉安培训中心

热门文章

  1. 手把手教你架构3D引擎高级篇系列二
  2. PS CC 2014破解版
  3. 小度计算机笔记,开售告罄、口碑炸裂、高语音交互率的小度耳机,全新升级语音笔记...
  4. 【机器学习】逻辑回归算法
  5. 干货收藏!小伙做自媒体半年得5万,分享6大必备素材网
  6. dev 居中_css的div垂直居中的方法,百分比div垂直居中
  7. 11部门公布第三批111个国家新型城镇化综合试点名单和工作方案
  8. VMWare + qnx系统开启ssh服务,并使用SecureCRT通过ssh远程连接qnx系统
  9. Python实现图片转成字符图片
  10. win10无法连接wifi_更新WIN10 1903遇到旧版高通驱动无法连接WIFI重新安装网卡驱动...