分类: [热更新]

Android热更新技术的研究与实现(三)

微信 Tinker 看完上面的Qzone超级补丁方案,我们不禁会想有没有那么一种方案,能做到开发透明,但是却没有QZone方案的缺陷呢?肯定是有的,比如我们完全可以使用新的Dex,那样既不出现Art地址错乱的问题,在Dalvik也无须插桩。当然考虑到补丁包的体积,我们不能直接将新的Dex放在里面。但我们可以将新旧两个Dex的差异放到补丁包中,最简单我们可以采用BsDiff算法。 Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。 Tinker和以往的HotFix库思路不太一 ......

Android热更新技术的研究与实现(二)

Sophix—阿里终极热修复方案 不过阿里作为大厂咋可能没有个自己的热更新框架呢,所以阿里爸爸最近还是做了一个新的热更新框架SopHix 巴巴再次证明我是最强的,谁都没我厉害!!!因为我啥都支持,而且没缺点。。简直就是无懈可击! 那么我们就来项目集成下看看具体的使用效果吧! 先去创建个应用: 获取AppId:24582808-1,和AppSecret:da283640306b464ff68ce3b13e036a6e 以及RSA密钥**。三个参数配置在application节点下面: <meta-data android:name="com.taobao.android.hotfix.IDSECRET" android:v ......

Android热更新技术的研究与实现(一)

Android热更新技术的研究与实现(一) ——必备引言—— 本文因为篇幅较长,可能会有错别字出现,望见谅。 第一部分重点是将当下热门的热更新方案实现之后再研究,第二部分则是自己动手实现一个自己的热更新框架。 Android热更新技术的研究与实现之研究篇 ———概念讲解——– 热更新 相关概念 这个词出现的时间已经很久了,感觉现在要找工作才来看是晚了不少,但是好东西什么时候学习都不晚的。 今天看到一句话,和大家分享下,人一生有三样东西是别人抢不走的: 吃进胃里的食物 藏在心中的梦想 读进大脑里的书所以趁着我们的时光正好,多学 ......

Android热更新方案之阿里AndFix 原理以及源码解析

源码路径:https://github.com/alibaba/AndFix 原理: 修复过程: 源码解析过程如下: patchManager=newPatchManager(context); patchManager.init(appversion);//current version   patchManager做了以下工作: public PatchManager(Context context) {    mContext = context;    mAndFixManager = new AndFixManager(mContext);    mPatchDir = new File(mContext.getFilesDir(), DIR);    mPatchs = new ConcurrentSkipListSet<Patch>();    mLoaders = new ConcurrentHashMap<String, ClassLoader>(); ......