安卓热修复 nuwa2,支持加固,支持 Gradle2.x 等

Android · 654277633 · 于 发布 · 最后由 654277633回复 · 808 次阅读
96

热修复是什么?热修复就是app出现bug之后无需用户更新app就能静默修复bug,注意不是web页面而是可以静默修复原生bug哦。
nuwa2,更新原nuwa框架,支持Gradle2.x,支持加固,修复ANDROID_HOME需要手动输入等问题。
外面的热修复框架都是公说公有理,婆说婆有理,既然如此,我就都体验一番。
以前使用阿里的andfix集成到我们的项目,听云错误监听工具发现,兼容性80%-90%,报错率达到0.1以上,不可使用。
腾讯微信的tikner也体验过,操作复杂,文档复杂,且不支持加固,国内360助手安卓市场,必须用360加固软件加固后才能发包,故暂不用tinker。
美团的Robust据说比较靠谱,但是不开源,想用用不了。
大众点评某工程师开发的一套nuwa,用的是DexClassLoader,系统自带api,兼容性好,稳定性高,针对加固的APP,如360加固仅支持修复MainActivity加载之后的MainActivity之外的代码。
但是作者的nuwa,仅支持gradle 1.2.3(即项目根目录build.gradle中的classpath 'com.android.tools.build:gradle:1.2.3')。
现在都2.3的时代了,instant-run等都需要新版gradle才能支持,所以很多人都不愿意用。作者没维护,因为他自己创业去了?好像后面就没碰这些代码了吧。
由于nuwa原理可靠,操作简单,不要浪费前人的血汗,最主要的是我没得其他框架用啊,外面也没人弄套“可用”的插件,于是我把他的gradle插件更新了一番,支持1.x到现在的2.x版本,另外完善了之前的部分细节。
支持新增包、新增类、新增方法、新增变量、修改类、不能修改资源文件、不能修改Application子类,限制只能修改App包名下的java文件,第三方库不能修改。
项目地址:
https://github.com/654277633/nuwa2

共收到 2 条回复
2899
plane18 · #1 ·

https://github.com/Meituan-Dianping/Robust 这是好像就是Robust吧····

96
654277633 · #2 ·

#1楼 @plane18 这是robust,后几天开源

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册