网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

什么是插件化技术

本篇内容主要讲解“什么是插件化技术”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是插件化技术”吧!

创新互联建站凭借专业的设计团队扎实的技术支持、优质高效的服务意识和丰厚的资源优势,提供专业的网站策划、网站设计、成都做网站、网站优化、软件开发、网站改版等服务,在成都十载的网站建设设计经验,为成都数千家中小型企业策划设计了网站。

什么是插件,一般指一个apk、dex、jar文件。插件化技术是指通过classloader将插件加载然后可以被宿主系统去使用。插件文件一般指从网络获取存放在sdcard上。当然已安装到手机data/app目录下的apk也可以叫插件。

插件化技术主要难点是在如何用classloader加载插件。classloader加载分单classloader和多classloader,多classloader优势明显,每个插件的类处在不同classloader隔离性非常好,对于同一个库不同版本问题不会有问题。但是对于Android来说,多classloader hook系统api的点太多,(主要得hook LoadedApk里的classloader,将classloader替换为自定义classloader,这个过程比较曲折)单classloader hook要简单一些(只需在宿主APP内获得当前classloader,一般是PathClassloader,拿到父类BaseDexClassLoader#pathList,它存放了插件文件生成的Element 对象,所以把我们的插件生成一个Element放进去即可)

插件化思想比较简单,但是实现比较复杂,因为需要反射hook很多系统apk,最终对于系统的稳定性不是很好。而且随着Android系统升级需要不断维护,所以开发一个这样的插件得需要专门的一个团队维护成本比较高。

virtual APP

virtual APP实现是直接对系统主要的服务进行了一个虚拟化代替,当然实现过程也是通过反射系统api,然后将自己实现的替换达到APP运行过程的拦截。

virtual app 应用 安装系统已存在的应用并展示,点击启动目标应用先启动virtual APP LeadingActivity,此时运行在APP进程。

然后通过VAMS启动activity,此时运行在VAMS进程,在这里做了目标intent的替换操作,替换为StubAcitivy。然后启动StubActivity此时运行在StubAcitity进程:p,此时以下就运行在:p进程作为启动APP的进程

然后通过反射调用ActivityManagerNative 再跨进程调用系统AMS启动activity,走系统startActivity流程。之后因为hook了HCallbackHandler。在callback中又将原真实目标intent替换回来。然后callback返回false,继续交给ActivityThread#handlerLauncherAcitivty处理

到此,相信大家对“什么是插件化技术”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


新闻名称:什么是插件化技术
URL标题:http://bjjierui.cn/article/jsssog.html

其他资讯