[发明专利]一种在安卓art环境中动态加载dex的方法及装置有效
申请号: | 201611069380.X | 申请日: | 2016-11-29 |
公开(公告)号: | CN106648755B | 公开(公告)日: | 2020-02-25 |
发明(设计)人: | 刘敏 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 宋菲 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 art 环境 动态 加载 dex 方法 装置 | ||
1.一种在安卓art环境中动态加载dex的方法,其特征在于,包括:
调用安卓art环境下操作系统的dex文件解析加载函数DexFile::OpenMemory,完成待加载的dex文件的底层解析与加载,得到加载后的dex文件的内存地址;
新建一个上层dex文件对象,将已完成底层加载的dex文件的内存地址赋值给所述上层dex文件对象的变量cookie,将上层dex文件对象作为dex类加载器BaseDexClassLoader的dex路径信息列表对象pathList中的dex文件数组dexElements的元素,插入到所述dex文件数组dexElements中;
通过dex类加载器BaseDexClassLoader完成dex文件数组dexElements中的元素所对应dex文件的动态加载。
2.根据权利要求1所述的动态加载dex的方法,其特征在于,底层的操作是指通过本地编程语言完成的库或程序来完成的操作;上层的操作是指通过JAVA语言完成的库或程序来完成的操作;所述本地编程语言包括C或C++。
3.根据权利要求1所述的动态加载dex的方法,其特征在于,所述调用安卓art环境下操作系统的dex文件解析加载函数DexFile::OpenMemory,完成待加载的dex文件的底层解析与加载,包括:
在安卓art环境下的动态链接库文件中查找dex文件加载解析函数,记录dex文件加载解析函数的地址;
将待加载的dex文件作为dex文件加载解析函数的参数,根据记录的dex文件加载解析函数的地址调用该函数,完成待加载的dex文件的解析与加载。
4.根据权利要求3所述的动态加载dex的方法,其特征在于,所述动态链接库文件为安卓art环境下so库。
5.根据权利要求1所述的动态加载dex的方法,其特征在于,所述上层dex文件对象为应用程序框架层dex文件对象dalvik/system/DexFile。
6.根据权利要求5所述的动态加载dex的方法,其特征在于,通过dex类加载器BaseDexClassLoader完成dex文件的动态加载,包括:
通过dex类加载器BaseDexClassLoader调用其dex路径信息列表对象pathList,dex路径信息列表对象pathList遍历其dex文件数组dexElements中的元素,dex类加载器BaseDexClassLoader根据数组中的元素查找对应内存地址中的dex文件,依次完成每个dex文件的动态加载。
7.一种在安卓art环境中动态加载dex的装置,其特征在于,包括:
系统底层加载模块,用于调用安卓art环境下操作系统的dex文件解析加载函数DexFile::OpenMemory,完成待加载的dex文件的底层解析与加载,得到加载后的dex文件的内存地址;
dex元素添加模块,用于新建一个上层dex文件对象,将已完成底层加载的dex文件的内存地址赋值给上层dex文件对象的变量cookie,将上层dex文件对象作为dex类加载器BaseDexClassLoader的dex路径信息列表对象pathList中的dex文件数组dexElements的元素,插入到所述dex文件数组dexElements中;
Dex文件动态加载模块,用于通过dex类加载器BaseDexClassLoader完成dex文件数组dexElements中的元素所对应的dex文件的动态加载。
8.根据权利要求7所述的动态加载dex的装置,其特征在于,底层的操作是指通过本地编程语言完成的库或程序来完成的操作;上层的操作是指通过JAVA语言完成的库或程序来完成的操作;所述本地编程语言包括C或C++。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611069380.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:控制器运行方法及装置
- 下一篇:一种高速信号传输中驱动芯片配置更新电路及方法