[发明专利]一种应用程序的加载方法、装置和移动终端有效
申请号: | 201510142323.9 | 申请日: | 2015-03-27 |
公开(公告)号: | CN104731622A | 公开(公告)日: | 2015-06-24 |
发明(设计)人: | 宋照春;张炅轩;姚彤 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙) 11391 | 代理人: | 康正德;范晓斌 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 加载 方法 装置 移动 终端 | ||
1.一种应用程序的加载方法,包括:
当应用程序的进程启动时,获取操作系统为所述应用程序建立的PackageInfo对象;
获取所述PackageInfo对象中的mClassLoader字段,所述mClassLoader字段用于存储指向ClassLoader对象的地址;
修改所述mClassLoader字段中的地址,使其指向自定义的ClassLoader对象地址;
通过所述自定义的ClassLoader对象加载所述应用程序。
2.根据权利要求1所述的方法,其中,当应用程序的进程启动时,还包括:
重写当所述应用程序的进程启动时调用的指定方法函数,使所述指定方法函数触发获取操作系统进程为所述应用程序建立的PackageInfo对象的操作。
3.根据权利要求1所述的方法,其中,所述获取操作系统为所述应用程序建立的PackageInfo对象,包括:
获取所述应用程序的Application对象;
获取所述Application对象中的mBase对象;
读取所述mBase对象中的mPackageInfo字段,通过所述mPackageInfo字段获取所述操作系统为所述应用程序建立的PackageInfo对象;
其中,所述mPackageInfo字段中存储有所述PackageInfo对象的地址。
4.根据权利要求1所述的方法,其中,在获取所述PackageInfo对象中的mClassLoader字段之前,所述方法还包括:
生成自定义的ClassLoader对象。
5.根据权利要求4所述的方法,其中,所述生成自定义的ClassLoader对象,包括:
重写所述ClassLoader对象下的方法函数,且使所述自定义的ClassLoader对象继承自所述操作系统的ClassLoader对象。
6.一种应用程序的加载装置,包括:
对象获取模块,适于当应用程序的进程启动时,获取操作系统为所述应用程序建立的PackageInfo对象;
地址获取模块,适于获取所述PackageInfo对象中的mClassLoader字段,所述mClassLoader字段用于存储指向ClassLoader对象的地址;
替换模块,适于修改所述mClassLoader字段中的地址,使其指向自定义的ClassLoader对象地址;
加载模块,使用通过所述自定义的ClassLoader对象加载所述应用程序。
7.根据权利要求6所述的装置,其中,所述装置还包括:
调用模块,适于当应用程序的进程启动时,重写当所述应用程序的进程启动时调用的指定方法函数,使所述指定方法函数触发获取操作系统进程为所述应用程序建立的PackageInfo对象的操作。
8.根据权利要求6所述的装置,其中,所述对象获取模块,包括:
第一对象获取单元,适于获取所述应用程序的Application对象;
第二对象获取单元,适于获取所述Application对象中的mBase对象;
第三对象获取单元,适于读取所述mBase对象中的mPackageInfo字段,通过所述mPackageInfo字段获取所述操作系统为所述应用程序建立的PackageInfo对象;
其中,所述mPackageInfo字段中存储有所述PackageInfo对象的地址。
9.根据权利要求6所述的装置,其中,所述装置还包括:
对象生成模块,适于在获取所述PackageInfo对象中的mClassLoader字段之前,生成自定义的ClassLoader对象。
10.根据权利要求9所述的装置,其中,所述对象生成模块具体适于按照如下方式生成自定义的ClassLoader对象:
重写所述ClassLoader对象下的方法函数,且使所述自定义的ClassLoader对象继承自所述操作系统的ClassLoader对象。
11.一种移动终端,其特征在于,所述移动终端包括:
存储器;
一个或多个处理器;
其中,所述一个或多个处理器被配置为执行如下方法:
当应用程序的进程启动时,获取操作系统为所述应用程序建立的PackageInfo对象;
获取所述PackageInfo对象中的mClassLoader字段,所述mClassLoader字段用于存储指向ClassLoader对象的地址;
修改所述mClassLoader字段中的地址,使其指向自定义的ClassLoader对象地址;
通过所述自定义的ClassLoader对象加载所述应用程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司;,未经北京奇虎科技有限公司;奇智软件(北京)有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510142323.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:操作系统部署方法和系统
- 下一篇:一种固定服务器启动设备的方法