导航:首页 > 操作系统 > hotpatchandroid

hotpatchandroid

发布时间:2022-08-12 01:37:33

android热更新框架哪个好

一.基础知识

1.阿里的热更新框架已经开源 了。但已经很久没有更新过新版本了。当前的版本只支持到了 Android 4.4。由于 5.0 起新的 ART 虚拟机、更严格的 SELinux 策略以及对 64 位的支持之类的事,使得 Xposed 都在开发上做了很多调整。我不知道 Dexposed 现在是否支持,但至少阿里没有开源。

2.在本地动态执行远端下发的代码是极度危险的行为。利用此方法执行非法代码等或用于绕过 Google Play 等市场的审查是违反相关协议的,也是对用户极度不负责任的行为。

3.在一些访问非常密集的地方使用热更新可能会对效率产生相对比较大的影响,应该避免使用.

4.我们可以对 Java 的 ScriptEngine 进行一些封装成为一个 HotPatch 类使得它更适合做热更新的工作。

5.首先,检查热更新补丁的管道一定要建立在 https 上,因为下发代码是极其危险的,如果被劫持,后果是无法想象的。其次,请求时最好自动带上 Android 版本、手机型号、地区、版本号等信息,以方便更精确地下发,千万不能下发错。

6.Java在运行时加载对应的类是通过ClassLoader来实现的,ClassLoader本身是一个抽象来,Android中使用PathClassLoader类作为Android的默认的类加载器

7.我们的如果想做hotpatch,一定要保证我们的hotpacth dex文件出现在dexElements列表的前面。

二.常用的热更新技术框架:

基于QQ空间的HotFix →→ 要使用到android dex分包方案→拆分dex的项目的话,可以参考一下谷歌的multidex方案实现.

大众点评的NuWa←项目补丁自动化做的很完整
alibaba/AndFix

阿里巴巴的DexPosed
dalvik_patch实现multidex
使用React-Native实现app热部署的一次实践
alibaba/AndFix

三、常用的热更新技术框架比较

Advantage
disadavantage
NuWa
1,可以新增类和字段,
2,兼容到6.0系统
1,基本原理是classloader,类加载器
2,不能修改资源文件,如图片布局等(可通过动态布局实现)
AndFix
1, 支持Android2.3到6.0版本
2, 支持arm与x86系统架构
3, 支持dalvik和ART的runtime
4, 不需要重启App即可应用补丁
1,不能新增类和字段,
2,不能修改资源文件,
3,不能修改manifest文件
4,不能新增成员变量
5,不能使用加固后的apk制作pacth文件
四、github地址
网络的同学的实现 HotFix
点评的同学的实现 Nuwa
阿里的同学的实现 AndFix
另:AndFix对static的支持不太好,下面是试验的Demo:
添加了一个静态的字段addString:

通过AndFix来制作patch会直接报错:

阅读全文

与hotpatchandroid相关的资料

热点内容
如何创建社区ppoe虚拟服务器 浏览:510
java模拟线程并发 浏览:754
一个云服务器能有几个实例 浏览:185
如何在服务器压缩zip格式 浏览:67
去除数组中重复元素的算法 浏览:992
巴士之星安卓如何玩 浏览:638
苹果如何看最近删除app 浏览:828
易语言绿色版静态编译 浏览:31
解压猪说说 浏览:548
ipad游戏解压壳 浏览:716
教小朋友学编程 浏览:872
iphone加密解压 浏览:675
还未上市的APP在哪里下载 浏览:720
机群服务器什么意思 浏览:515
单片机循环函数 浏览:469
到海康算法岗好吗 浏览:124
r11压缩机 浏览:387
主业程序员怎么找副业 浏览:310
几kb的软件是怎么编译的 浏览:983
华为一汽奥迪app怎么放在桌面 浏览:572