深入探索Android热修复技术原理
  • 推荐0
  • 收藏2
  • 浏览862

深入探索Android热修复技术原理

甘晓霖 (作者)  孙学瑛 (责任编辑)

  • 书  号:978-7-121-34389-6
  • 出版日期:2018-08-25
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:孙学瑛
纸质版 ¥79.00
本书系统介绍了 Android 热修复的核心技术原理,结合 Sophix 热修复开发实践过程,从代码修复、资源修复、so库修复三大方向进行了详细的技术剖析与解读。通过本书,读者会对 Android 热修复技术有更加深刻的认识,对于 Android 系统底层原理的理解和今后的开发工作都有很大帮助。通过阅读本书,读者可以初步实现一个较为完善的热修复框架。
本书适合对 Android 热修复技术感兴趣的技术人员阅读,也适合 Android进阶开发者参考。
Android 系统热修复技术之作|移动开发人员人手一本查阅| 详解Sophix 热修复开发实践过程
甘晓霖,资深Android软件研发工程师。现就职于阿里巴巴手机淘宝技术团队,花名万壑。曾任职于小米科技有限责任公司MIUI系统组。对Android系统底层机制与架构,尤其是Dalvik/Art虚拟机有着较为深入的研究。已向Android系统源码提交过多个commit,并被Google采纳及并入主分支。阿里Android热修复方案Sophix的主要开发者。

廖斌斌,毕业于重庆大学软件工程专业。阿里巴巴高级无线开发工程师,花名悟二。拥有丰富的Android开发经验,同时热衷研究底层技术栈原理,目前主要在手机淘宝从事无线端SDK研发工作。

杨青,毕业于湖南大学计算机与通信学院计算机科学与技术专业,获硕士学位。历任A8音乐集团、腾讯控股有限公司、阿里巴巴集团的高级程序员、专家、高级专家等职务,在无线互联网领域工作8年以上,拥有MTK、Symbian、PC、WindowsPhone、Android、iOS等多个平台经验。曾参加国家自然科学基金项目,在国内外会议和期刊上发表论文3篇。
热修复技术,可以看作Android 平台发展成熟至一定阶段的必然产物。随着移动端业务复杂程度的增加,传统的版本更新流程显然无法满足业务和开发者的需求,热修复技术的推出在很大程度上改善了这一局面。热修复技术近年来的飞速发展,尤其是在Instant Run 方案推出后,各种热修复技术百花齐放,国内大部分成熟的主流App 都拥有自己的热更新技术,像手淘、支付宝、微信、QQ、饿了么、美团等。可以说,一个好的热修复技术,将为你的App 助力百倍。对于每一个想在 Android 开发领域有所造诣的开发者,掌握热修复技术更是必备的素质。
虽然方案很多,但是深入系统地讲解热修复技术细节的书籍基本没有,市场上国内外的各种Android 书籍大部分只是泛泛地囊括Android 开发的基础知识,基本都没有包含热修复技术的章节,最多只是一笔带过。即使有很多开源的热修复方案,要自己硬啃代码还是要花费不少时间和精力。如果只有开源代码就足够的话,为什么还需要这么多技术书籍和文档呢?与其看一个晦涩难懂的项目,不如找一本专业翔实的书,这将会帮助你更系统、全面地理解这项技术涉及的难点与关键点。
出于回馈业界的考虑,我们把阿里移动热修复方案Sophix 开发过程中的技术细节进行了整理归纳,在2017 年6 月发布了《深入探索Android 热修复技术原理》一书的免费电子版,与广大Android 开发者进行了分享。电子版发布以后得到了很好的反响,广大开发者下载如潮,很多读者希望我们能够推出纸质版,来进行更加方便的研读。基于这个呼吁,我们对电子版内容做了认真的整理和校对,对全书内容进行了全面的充实,特此推出这本《深入探索Android 热修复技术原理》。
本书结合了这半年来我们的一些新的探索和思考,特别是对资源修复和冷启动修复技术进行了一些扩充。并新增了一章,全面介绍了其他热修复技术方案,其中特别邀请了 Andfix 的作者黎三平(董炼师)与 Amigo 的作者曹玉斌(夜沧),来专门为这两大优秀的热修复方案撰写相关章节,里面包含了两位作者分别在支付宝和饿了么的工程开发实践中,对于热修复技术的实际思考和研究,相信读者一定会获益不少。

本书结构
本书各章节是以热修复所涉及的各个技术点进行编排的,结构分明、循序渐进。推荐以章节顺序进行阅读,当然如果对某些方面感兴趣,也可进行跳读。对于日常工作中遇到的问题,也可以通过阅读本书来寻求答案。
第1 章 热修复技术介绍
热修复技术的演进与技术发展,Sophix 方案的简介。
第2 章 热替换代码修复
详细解析了底层替换热修复的实现原理。
第3 章 冷启动代码修复
对冷启动修复技术进行了深入的剖析。
第4 章 资源热修复技术
资源修复的技术细节与思考。
第5 章 so 库热修复技术
so 库修复的探索与实践。
第6 章 其他优秀的热修复方案
介绍了Android 平台上涌现的其他优秀热修复技术方案。
第7 章 热修复技术的未来展望
对于热修复技术未来的畅想与期盼。

你将得到什么
读完本书,你将会对 Android 热修复技术有更加深刻的认识,不仅能提高工作效率,而且可加深对系统底层原理的理解,给日常的Android 开发工作带来很大帮助。并且,目前热修复原理还是很多高级Android 技术岗位的面试常客,对付它们你也将得心应手。你还可以通过本书的知识自己初步实现一个较为完善的热修复框架,当然,想直接使用可以访问阿里移动热修复Sophix 官方地址,马上就能够拥有安全可靠的全方位热修复功能。

致谢
Sophix 的推出与本书的发行是阿里巴巴许多开发者共同努力的成果,集团技术发展部对于本书的出版提供了极大的支持。在这里首先要感谢团队领导所为,还有其他共同为 Sophix 的研发和推广做出贡献的悟二、查郁、泽胤、潇衍、荻朵,以及之前在百川项目里共同参与热修复项目开发的其他手机淘宝开发者。还要特别感谢阿里云事业部的同学们的合作,是你们提供了强有力的技术支持并不断开拓新市场。
对于本人而言,我还要对前东家小米科技 MIUI 部门的各位朋友和前同事表示最诚挚的谢意。我个人的技术成长离不开你们曾经的帮助。
甘晓霖
淘宝(中国)软件有限公司

目录

第1 章 热修复技术介绍… ……………………………… 01
1.1 什么是热修复…………………………………………… 02
1.2 基本概念………………………………………………… 03
1.3 技术积淀………………………………………………… 06
1.4 技术概览………………………………………………… 08
1.5 本章小结………………………………………………… 14
第2 章 热替换代码修复… ……………………………… 15
2.1 底层热替换原理………………………………………… 16
2.2 突破底层差异的方法…………………………………… 25
2.3 编译期与语言特性的影响……………………………… 36
2.4 本章小结………………………………………………… 75
第3 章 冷启动代码修复… ……………………………… 77
3.1 冷启动类加载原理……………………………………… 78
3.2 多态对冷启动类加载的影响…………………………… 91
3.3 Dalvik 下完整dex 方案的新探索… ………………… 99
3.4 入口类与初始化时机的选择………………………… 110
3.5 本章小结……………………………………………… 119
第4 章 资源热修复技术… ……………………………… 121
4.1 普遍的实现方式……………………………………… 122
4.2 资源文件的格式……………………………………… 128
4.3 运行时资源的解析…………………………………… 130
4.4 另辟蹊径的资源修复方案…………………………… 134
4.5 更优雅地替换AssetManager… ………………… 139
4.6 一个意料之外的资源问题…………………………… 143
4.7 本章小结……………………………………………… 158
第5 章 so 库热修复技术… ……………………………… 159
5.1 so 库加载原理… …………………………………… 160
5.2 so 库热部署实时生效的可行性分析… …………… 162
5.3 so 库冷部署重启生效实现方案… ………………… 169
5.4 如何正确复制补丁so 库…………………………… 173
5.5 本章小结……………………………………………… 174
第6 章 其他优秀的热修复方案… ……………………… 175
6.1 Dexposed 浅析… ………………………………… 176
6.2 AndFix 探索历程… ………………………………… 185
6.3 Amigo 核心解读… ………………………………… 193
6.4 腾讯系热修复方案简介……………………………… 202

读者评论

图书类别

相关图书

写给大忙人的现代JavaScript

(德国)HORSTMANN, CAY S. (作者) 浙江阿里巴巴聚橙技术发展有限公司 (译者)

本书是一本简明的现代 JavaScript 教程,不仅涵盖函数式编程、JS 语法、JS 库等基础性内容,还介绍了国际化、异步编程、标准模块系统、元编程等较为复杂...

¥109.00

基于Bert模型的自然语言处理实战

李金洪 (作者)

2018年底谷歌公司AI团队新发布的BERT模型,在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且还在11种不...

¥139.00

Flutter企业级应用开发实战

郭歆伊 (作者)

本书是一本可供国内企业参考落地的Flutter技术图书。闲鱼技术团队在实际的技术落地过程中,既享受了Flutter研发效能带来的红利,也经历了无数的技术挑战。本...

¥89.00

JavaScript 二十年

王译锋 (作者)

本书主要讲述了从 1995 年到 2015 年这20年间,JavaScript在创建、设计和演变方面所经历的过程。全书分为4个部分,每个部分都涵盖了 JavaS...

¥79.00

数据分析实用教程

刘政 罗应婷 姚新军 (作者)

本书共 14 章,内容涵盖:统计学的基本概念、推断性统计的相关理论和实例、方差分析、相关分析与回归分析、Logistic 回归、主成分分析与因子分析、聚类分析、...

¥99.00

Flink实战派(双色版)

龙中华 (作者)

本书针对Flink 1.11版本和Alink 1.2版本,采用“知识点+实例”的形式编写,包括47个基于知识点的实例和1个综合项目实例。 第1章对大数据和人工...