[发明专利]一种对Android应用程序扩展功能的方法及装置有效
申请号: | 201410064973.1 | 申请日: | 2014-02-25 |
公开(公告)号: | CN104866293B | 公开(公告)日: | 2018-04-03 |
发明(设计)人: | 阎文斌 | 申请(专利权)人: | 北京娜迦信息科技发展有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司11204 | 代理人: | 余朦,王艳春 |
地址: | 100084 北京市海淀区中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 应用程序 扩展 功能 方法 装置 | ||
技术领域
本发明涉及计算机软件技术领域,具体涉及软件的功能扩展技术,尤其涉及一种对Android应用程序扩展功能的方法及装置。
背景技术
随着手机与平板电脑等移动终端的迅速发展,主要应用于移动终端的Android系统也得到了越来越快速的推广,使得很多基于Android系统的应用程序越来越丰富。
当需要对Android系统的应用程序进行功能扩展时,针对Android系统的应用程序安装包中的dex文件,需要将实现扩展功能的代码块加入到dex文件中,但是,由于dex文件的结构关系,(例如,dex文件头包括校验以及其他结构的偏移地址和长度信息等),如果直接根据需要将实现扩展功能的代码块插入dex文件中,代码的长度会发生变化,从而引起其他结构偏移地址和长度信息等信息发生变化,导致dex文件在被执行时出错,无法实现对Android应用程序的功能的扩展,因此,在需要对Android系统的应用程序扩展功能时,只能重新构建一个新的dex文件,将实现扩展功能的代码块加入到新的dex文件中,从而耗费大量的时间和人力,降低了效率。
发明内容
有鉴于此,本发明实施例提供了一种对Android应用程序扩展功能的方法及装置,来解决以上背景技术部分提到的技术问题。
一方面,本发明实施例提供了一种对Android应用程序扩展功能的方法,所述方法包括:
获得所述Android应用程序的安装包中的dex文件;
从所述dex文件中获得待扩展功能的代码块;
根据用于Android系统的dex文件的编码规则构建运行时将不被执行的代码块;
将所述dex文件中的待扩展功能的代码块替换成所述运行时将不被执行的代码块;
在所述运行时将不被执行的代码块的前面或者后面添加调用指令的代码,所述调用指令调用包含所述待扩展功能的代码块和实现扩展的功能的代码块的外部文件;
使所述运行时将不被执行的代码块和所述调用指令的代码所占空间的总和与所述待扩展功能的代码块所占空间相同。
另一方面,本发明实施例提供了一种对Android应用程序扩展功能的装置,所述装置包括:
文件获得模块,用于获得所述Android应用程序的安装包中的dex文件;
代码块获得模块,用于从所述文件获得模块获得的dex文件中获得待扩展功能的代码块;
构建模块,用于根据用于Android系统的dex文件的编码规则构建运行时将不被执行的代码块;
替换模块,用于将所述dex文件中的待扩展功能的代码块替换成所述构建模块构建的运行时将不被执行的代码块;
调用指令添加模块,用于在所述运行时将不被执行的代码块的前面或者后面添加调用指令的代码,所述调用指令调用包含所述代码块获得模块获得的待扩展功能的代码块和实现扩展的功能的代码块的外部文件;
调整模块,用于使所述运行时将不被执行的代码块和所述调用指令添加模块添加的调用指令的代码所占空间的总和与所述待扩展功能的代码块所占空间相同。
本发明提供了一种对Android应用程序扩展功能的方法及装置,通过将需要扩展功能的代码块和实现扩展的功能的代码块存放在外部文件中,并用随机代码和调用外部文件的调用指令替换掉原来需要扩展功能的代码块,从而实现了对Android应用程序的功能的扩展,提高了对Android应用程序开发的效率。
附图说明
图1是本发明实施例提供的一种对Android应用程序扩展功能的方法流程图;
图2是本发明实施例提供的一种使运行时将不被执行的代码块和调用指令的代码所占空间的总和与待扩展功能的代码块所占空间相同的方法流程图;
图3是本发明实施例提供的一种对Android应用程序扩展功能的装置组成框图;
图4是本发明实施例提供的一种使运行时将不被执行的代码块和调用指令的代码所占空间的总和与待扩展功能的代码块所占空间相同的装置组成框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例,仅仅用于解释本发明,而非对本发明的限定。
本发明实施例提供了一种对Android应用程序扩展功能的方法,如图1所示,该方法包括如下步骤:
步骤101:获得所述Android应用程序的安装包中的dex文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京娜迦信息科技发展有限公司,未经北京娜迦信息科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410064973.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:OpenCL运行时系统框架的设计方法及装置
- 下一篇:软件识别方法及装置