QuickPatch项目地址:
创新互联公司专注于平川网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供平川营销型网站建设,平川网站制作、平川网页设计、平川网站官网定制、成都小程序开发服务,打造平川网络公司原创品牌,更为您提供平川网站排名全网营销落地服务。
https://gitee.com/egg90/QuickPatch 和 https://github.com/eggfly/QuickPatch 同步更新
类似于美团的Robust插桩热修复,但是代码可读性比较强,还在继续完善,todo list在项目README里
年轻人的第一个Android插桩热修复框架
基于函数插桩,兼容性好(Android版本升级不需要做修改),支持热更新无需重启app,参考了美团的Robust插桩热修复框架,精简了很多实现细节,代码可读性高
简单地讲,就是通过编译时在每个函数的头部插入一个if判断和一个proxy代理,就可以在运行时动态替换实现,无需重启。代码如下:
protected void onCreate(Bundle savedInstanceState) {
if (_QPatchStub != null) {
// _QPatchStub.proxy() will check method existance and call it
MethodProxyResult proxyResult = _QPatchStub.proxy(this, "onCreate", "(Landroid/os/Bundle;)V", new Object[]{savedInstanceState});
if (proxyResult.isPatched) {
return;
}
}
// origin implementation below
super.onCreate(savedInstanceState);
// ...
}
./gradlew gradleplugin:uploadArchives # 编译插桩插件
./gradlew app:installDebug # 使用插件编译app代码并插桩
当前文章:介绍自己的一个Android插桩热修复框架项目QuickPatch
转载源于:https://www.cdcxhl.com/article20/pdipco.html
成都网站建设公司_创新互联,为您提供网站建设、手机网站建设、App开发、品牌网站设计、品牌网站制作、标签优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联