问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android 插件化和热修复做什么用的

发布网友 发布时间:2022-04-23 06:25

我来回答

1个回答

热心网友 时间:2023-09-28 11:55

针对Android平台,Dexposed支持函数级别的在线热更新,例如对已经发布在应用市场上的宿主APK,当我们从crash统计平台上发现某个函数调用有bug,导致经常性crash,这时,可以在本地开发一个补丁APK,并发布到服务器中,宿主APK下载这个补丁APK并集成后,就可以很容易修复这个crash。

Dexposed是基于久负盛名的开源Xposed框架实现的一个Android平台上功能强大的无侵入式运行时AOP框架。

Dexposed的AOP实现是完全非侵入式的,没有使用任何注解处理器,编织器或者字节码重写器。集成Dexposed框架很简单,只需要在应用初始化阶段加载一个很小的JNI库就可以,这个加载操作已经封装在DexposedBridge函数库里面的canDexposed函数中,源码如下所示:

/**
* Check device if can run dexposed, and load libs auto.
*/
public synchronized static boolean canDexposed(Context context) {
if (!DeviceCheck.isDeviceSupport(context)) {
return false;
}
//load xposed lib for hook.
return loadDexposedLib(context);
}

private static boolean loadDexposedLib(Context context) {
// load xposed lib for hook.
try {
if (android.os.Build.VERSION.SDK_INT > 19){
System.loadLibrary("dexposed_l");
} else if (android.os.Build.VERSION.SDK_INT == 10
|| android.os.Build.VERSION.SDK_INT == 9 ||
android.os.Build.VERSION.SDK_INT > 14){
System.loadLibrary("dexposed");
}
return true;
} catch (Throwable e) {
return false;
}
}

Dexposed实现的hooking,不仅可以hook应用中的自定义函数,也可以hook应用中调用的Android框架的函数。Android开发者将从这一点得到很多好处,因为我们严重依赖于Android SDK的版本碎片化。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
口啍的意思是什么 啍啍意思和来源是什么 啍啍的意思是什么 win7鼠标点击没反应但是光标又能动-windows7鼠标可以移动但点击没反应怎... 电脑右击没反应? 鼠标移动点击无效如何处理鼠标能移动但点击无效的问题 【函书】的意思是什么?【函书】是什么意思? 科目余额表怎么看通俗易懂 微信红包没有领取怎么知道对方发的是好多 项目管理专业是什么 我的iPhoneX丢失了,还有什么途径找回 包建强 为什么我说android插件化从入门到放弃 冲床都有哪些详细构造? Android的apkplug插件开发具体怎么编译生成插件 apk 文件 ? 网页无法复制粘贴~急急急~ 《Android插件化开发指南》pdf下载在线阅读全文,求百度网盘云资源 冷冲压模具设计实例 android插件化原理要多久 等高套筒有什么作用 什么是Android插件开发 导板导向模的定义 液压缸式冲床的工作原理 刚性卸料是不是不需要卸料板 卸料平台工字钢结螺丝连接做法 麻烦各位模具方面的高手指教一下 怎么确定卸料螺钉在卸料板的安装位置 冲床的工作原理及构造 冲床的结构组成是什么? 冲压模具,压料板为什么有了卸料螺钉还要侧销 卸料螺钉的好处有哪些? 我的iPhoneX丢了我怕别人会破了 锁屏密码,然后我就是把icloud密码给改了 我的iPhoneX丢了我怕别人会破了 锁屏密码,然后我就是把icloud密码给改了 用导正销定距的冲孔落料级进模有几个工位 如何使用Android Studio开发Gradle插件 模具设计总结 iphonex手机被偷了怎么办,还能找回来吗 iphonex手机被偷了怎么办,还能找回来吗 谷歌官方支持android插件化开发吗 我的iPhoneX手机刚刚丢了,怎么通过定位找回 我的iPhoneX手机刚刚丢了,怎么通过定位找回 iphoneX丢失后有没有自动拍照的功能? iphoneX丢失后有没有自动拍照的功能? android组件化和插件化的区别 苹果x丢了,别人会看到我的隐私吗?我设的面容识别了 苹果x丢了,别人会看到我的隐私吗?我设的面容识别了 我的iPhoneX丢了 查找我的iPhone打开了 手机必须开机同时联网才能定位吗 Android开发入门:如何激活和关闭组件 android 插件化怎么把几个模块一起打包 最近买了一部iPhoneX,丢了,如果捡到的人拿去刷机,我该怎么找回? 最近买了一部iPhoneX,丢了,如果捡到的人拿去刷机,我该怎么找回?