QuickPatch项目地址:
创新互联公司专注于企业全网整合营销推广、网站重做改版、钟山网站定制设计、自适应品牌网站建设、HTML5建站、成都做商城网站、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为钟山等各大城市提供网站开发制作服务。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代码并插桩
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。