Android热修复与插件化实践之路

第1章 class文件与dex文件解析
本章通过从java最基本的class文件与android最基本的dex文件进行对比,并不借助IDE去生成及执行class与dex文件,通过讲解class与dex的手动生成,执行, 格式对比,让学生明白二者的相同与不同。
1-1 课程项目整体介绍
1-2 本章概述
1-3 class文件详解上
1-4 class文件详解下
1-5 dex文件详解上
1-6 dex文件详解下

第2章 虚拟机深入讲解
本章主要介绍jvm,dvm,art。通过对这三个虚拟机的介绍让学生明白,android虚拟机是一步步从dvm发展到今天的art,以及在发展的过程中,android操作系统对虚拟机主要做了那些方面的优化并详细的讲解了java虚拟机在结构,编译流程,类加载以及内存管理等方面的知识。...
2-1 本章概述
2-2 Java虚拟机结构讲解
2-3 虚拟机内存管理
2-4 垃圾回收详解
2-5 本章小结

第3章 ClassLoader原理讲解
本章主要通过对android中的ClassLoader进行介绍和对比,说明android中类去如何被加载到虚拟机中的,通过带领同学们阅读源码,更能掌握ClassLoader的核心思想,本章是动态加载这一章最核心的内容,ClassLoader也是我们能免热修复和插件化的理论基础。...
3-1 本章概述
3-2 androidClassLoader种类详解
3-3 androidClassLoader特点
3-4 ClassLoader源码讲解
3-5 ClassLoader加载流程总结
3-6 动态加载难点
3-7 本章小结

第4章 热修复简单讲解
通过介绍市面上比较流行的热修复框架并进行对比,教会同学们在面对多种技术方案的时候,如何选出最适合自己的方案,以及我们为什么最终选择AndFix与Tinker.
4-1 本章概述
4-2 热修复常见技术方案对比
4-3 本章小结

第5章 热修复AndFix详解
通过讲解阿里开源的AndFix的原理和执行流程,为同学们讲清楚AndFix是如何去在线修复bug的,在了解了AndFix的修复原理后,我们创建一个工程并完成对AndFix的集成和bug修复。
5-1 本章概述
5-2 AndFix基本介绍
5-3 AndFix集成
5-4 AndFix初始化实战
5-5 准备阶段
5-6 apatch文件生成
5-7 补丁文件安装
5-8 AndFix组件化思路讲解
5-9 AndFix组件化实现上
5-10 AndFix组件化实战下
5-11 AndFix组件调用
5-12 AndFix源码讲解
5-13 本章小结

第6章 热修复Tinker详解及两种方式接入
本章通过对Tinker的原理和执行流程的介绍让同们学了解Tinker的原理并教会同学如使用命令行的方式去接入Tinker并修复bug。并且通过在gradle中集成tinker,详解了tinker的主要要配置参数,让学生掌握如何通过gradle去更加方便的集成tinker并使用。...
6-1 本章概述
6-2 Tinker基本介绍
6-3 Tinker集成与初始化
6-4 准备阶段
6-5 命令行patch文件生成
6-6 gradle配置概述
6-7 gradle参数配置前准备
6-8 Tinker gradle参数配置
6-9 patch文件生成
6-10 Tinker组件化开始
6-11 组件化介绍
6-12 Tinker组件化
6-13 项目中集成Tinker
6-14 Tinker进阶概述
6-15 自定义PatchListener
6-16 Reporter自定义
6-17 Tinker源码讲解
6-18 本章小结

第7章 引入热修复后代码及版本管理
本章通过介绍在项目中引入热修复技术后,如何管理我们的代码及版本发布,让同学们了解,在企业中引入热修复后,我们去如何合理的管理我们的代码。
7-1 本章概述
7-2 代码分支管理策略
7-3 分支管理实战
7-4 版本发布节奏管理
7-5 本章小结

第8章 插件化原理深入讲解
通过本章的学习,让同学们了解什么是插件化,插件化与组件化两种思想的区别,以及插件化的原理和难点。
8-1 本章概述
8-2 插件化技术出现背景
8-3 插件化相关概念
8-4 插件化知识介绍
8-5 插件类加载原理
8-6 模拟插件化框架管理步骤
8-7 本章小结

第9章 使用Small完成插件化
本章通过对Small框架的介绍,让同学们能够了解small,以及如何通过Small完成app的插件化。
9-1 本章概述
9-2 Small插件化框架介绍
9-3 集成阶段
9-4 项目Small插件化改造
9-5 公共库插件创建
9-6 Small进阶知识讲解
9-7 本章小结

第10章 使用Atlas完成插件化
本章通过对Atlas框架的介绍,让同学们能够了解Atlas,以及如何通过Atlas完成app的插件化。
10-1 本章概述
10-2 Atlas详细讲解
10-3 本章小结

第11章 课程整体总结
通过本章总结本次实战课程所能学到所有知识点,技术经及同学们学了以后的收获,让大家了解本次实战课程的核心价值。
11-1 课程总结

下载地址:Android热修复与插件化实践之路

原文地址:https://www.cnblogs.com/jianghaoyuan/p/10015165.html

时间: 2024-10-06 16:53:48

Android热修复与插件化实践之路的相关文章

Android 热修复,插件式开发---基本知识

Android插件技术已经出来很久了,从包建强大大的那篇<Android插件化:从入门到放弃>出来以后,插件化技术的场景也明朗了. app插件牵涉到很多基础 1.app的启动流程 过程分析,首先从launcher上面点击app图标,然后到activity的OnResume. 在AMS里面调用startProcessLocked,首先开启一个新的进程,同步一个主线程. 上图是启动默认activity的流程. 1.1launcher->AMS(system_server) launcher

Android热修复技术选型

2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker,它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较头疼的问题.本文希望通过介绍QQ空间补丁.Tinker以及基于AndFix的阿里百川HotFix技术的原理分析和横向比较,帮助开发者更深入了解热修复方案. 技术背景 一.正常开发流程 从流程来看,传统的开发流程存在很多弊端: 重新发布版本代价太大 用户下载安装成本太高 B

Android热修复技术选型——三大流派解析

2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker,它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较头疼的问题.本文希望通过介绍QQ空间补丁.Tinker以及基于AndFix的阿里百川HotFix技术的原理分析和横向比较,帮助开发者更深入了解热修复方案. 技术背景 -----------------------------------------------------

Android 热修复使用Gradle Plugin1.5改造Nuwa插件

随着谷歌的Gradle插件版本号的不断升级,Gradle插件如今最新的已经到了2.1.0-beta1,相应的依赖为com.android.tools.build:gradle:2.0.0-beta6,而Nuwa当时出来的时候,Gradle插件还仅仅是1.2.3版本号,相应的依赖为com.android.tools.build:gradle:1.2.3,当时的Nuwa是依据有无preDex这个Task进行hook做不同的逻辑处理,而随着Gradle插件版本号的不断增加,谷歌增加了一个新的接口能够用

Android热修复原理普及

Android热修复原理普及 这段时间比较难闲,就抽空研究一下Android热修复的原理.自从Android热修复这项技术出现之后,随之而现的是多种热修复方案的出现.前两天又看到一篇文章分析了几种热修复方案的比较. 原文地址是:[Android热修复] 技术方案的选型与验证 看完这篇文章,有点汗颜.有这么多的热修复方案,并且他们之间的实现原理也不一样,各有优缺点. 然后在尼古拉斯_赵四的博客中看到几篇关于热修复的文章,对着这几篇文章撸了一番.大概的了解了热修复一种原理,其思路和QQ空间提出的安卓

Android热修复学习之旅——HotFix完全解析

在上一篇博客Android热修复学习之旅开篇--热修复概述中,简单介绍了各个热修复框架的原理,本篇博客我将详细分析QQ空间热修复方案. Android dex分包原理介绍 QQ空间热修复方案基于Android dex分包基础之上,简单概述android dex分包的原理就是:就是把多个dex文件塞入到app的classloader之中,但是android dex拆包方案中的类是没有重复的,如果classes.dex和classes1.dex中有重复的类,当classes.dex和classes1

Android热修复——Tinker微信解决方案

Android的热修复 前言: 随着时代的发展,由于公司的项目需要去求变化平凡计划总赶不上变化,H5的高灵活性,开发周期短,更新速度快H5以及一些混合开发越来越被看好,然而主要原因之一:这种混合开发的方式容错率大,更新和修复BUG快.不用发布版本就可以让用户不觉的情况下就更新对应的内容或者BUG,我们不能否认混合开发的快捷,正在此前提下热修复和热更新技术也得到了非常大的发展,不管热修复还是热更新,都是对app的内容或者逻辑变化做出像web页面更新一样的体验.而本文只对热修复进行探索,不对H5进行

Android热修复技术专题:来自微信、淘宝、支付宝、QQ空间的热修复方案

最近好多人都讨论关于热更新的话题,所以查询了一些资料看看 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App.测试.向各个应用市场和渠道换包.提示用户升级.用户下载.覆盖安装.有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布. 这时候就提出一个问题:有没有办法以补丁的方式动态修复紧急Bug,不再需要重新发布App,不再需要用户重新下载,覆盖安装?答案当然是有的,那就是最近涌现出来得热补丁方案,主要包括淘宝的Dexpo

Android热修复框架汇总整理(Hotfix)

??Android平台出现了一些优秀的热更新方案,主要可以分为两类:一类是基于multidex的热更新框架,包括Nuwa.Tinker等:另一类就是native hook方案,如阿里开源的Andfix和Dexposed. 基于native hook的方案 ??需要针对dalvik虚拟机和art虚拟机做适配,需要考虑指令集的兼容问题,需要native代码支持,兼容性上会有一定的影响: 基于Multidex的方案 ??需要反射更改DexElements,改变Dex的加载顺序,这使得patch需要在下