Skip to content
This repository has been archived by the owner on Mar 25, 2024. It is now read-only.

Fix broken headings in Markdown files #23

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

安卓App热补丁动态修复框架

##介绍
## 介绍
该项目是基于QQ空间终端开发团队的技术文章实现的,完成了文章中提到的基本功能。


Expand All @@ -20,8 +20,8 @@
**类似项目:** [Nuwa](https://github.com/jasonross/Nuwa) 这个项目补丁自动化那块做的很完整,感兴趣的可以去看


##详细说明
###补丁制作
## 详细说明
### 补丁制作
该技术的原理很简单,其实就是用ClassLoader加载机制,覆盖掉有问题的方法。所以我们的补丁其实就是有问题的类打成的一个包。

例子中的出现问题的类是 `dodola.hotfix.BugClass`
Expand Down Expand Up @@ -64,7 +64,7 @@ public class BugClass {
![](img/patch2.png)


###实现javassist动态代码注入
### 实现javassist动态代码注入


实现这一部分功能的原因主要是因为出现如下异常
Expand Down Expand Up @@ -150,9 +150,9 @@ android{
![](img/patch3.png)


###补丁加载过程分析
### 补丁加载过程分析

##关于混淆
## 关于混淆
文档里已经给出了解决方案。

>1. 在正式版本发布的时候,会生成一份缓存文件,里面记录了所有class文件的md5,还有一份mapping混淆文件。
Expand All @@ -164,6 +164,6 @@ android{
这样打补丁混淆就能完全的自动化了。


##ISSUE
## ISSUE
1. 开发测试过程中遇到一些问题,这种方法无法在已经加载好的类中实现动态替换,只能在类加载之前替换掉。就是说,补丁下载下来后,只能等待用户重启应用才能完成补丁效果。
2. 有同学反馈在一加手机上会出现` Class ref in pre-verified class resolved to unexpected`的错误,待找到手机后修复。。