[发明专利]一种基于Android系统的框架代码修改方法及装置有效
申请号: | 201510055278.3 | 申请日: | 2015-02-03 |
公开(公告)号: | CN104731581B | 公开(公告)日: | 2018-02-13 |
发明(设计)人: | 史豪君;王浩 | 申请(专利权)人: | 惠州TCL移动通信有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙)44268 | 代理人: | 王永文,刘文求 |
地址: | 516006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 android 系统 框架 代码 修改 方法 装置 | ||
技术领域
本发明涉及Android技术领域,尤其涉及一种基于Android系统的框架代码修改方法及装置。
背景技术
Android是谷歌推出的一种智能的移动终端操作系统。在Android实际开发过程中,往往都会有一些因针对Android框架中原有功能或职责的拓展而导致的源码修改。
从代码角度看,如果要对原生的Android框架做修改,那么最佳的方式就是以类扩展的形式进行修改。但是这样修改的话,遇到访问权限的问题就必须修改原生的类文件,增加接口或是修改原本的访问权限,这样的修改不但偏离了谷歌的设计理念,而且最后也会把Android的源码改得面目全非,对于后续的平台版本升级来说既费时又费力并且危险。
从实际的开发角度出发,类扩展的形式首先需要考验到开发者的设计能力,而且对于小的功能增加或修改来说无疑是太过复杂,并且用类扩展的形式没有直接在源代码中修改来的直观,因此在实际的开发过程中也不太适用类扩展的形式来拓展Android框架中原有类的功能或职责。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种基于Android系统的框架代码修改方法及装置,旨在解决现有的代码修改方式维护难、影响原有Android框架、操作复杂等问题。
本发明的技术方案如下:
一种基于Android系统的框架代码修改方法,其中,包括步骤:
A、对Android框架代码进行功能扩展时,解耦成扩展代码和原生代码,框架代码的功能扩展写在扩展代码中,使扩展代码和原生代码分离;
B、在进行编译时,将原生代码和扩展代码进行代码重组,使原生代码和扩展代码之间实现互访,以及通过特定转换将扩展代码重塑为可供外部访问的类对象。
所述的基于Android系统的框架代码修改方法,其中,所述步骤A中,解耦成扩展代码时,扩展代码的包名与原生代码的包名一致;扩展代码的文件名包含有原生代码的特定标识;扩展代码中有一个参数为原生代码的构造器,并且原生代码的实例保存在扩展代码中。
所述的基于Android系统的框架代码修改方法,其中,所述步骤B中,将原生代码和扩展代码进行代码重组的过程具体包括:
B1、合并原生代码和扩展代码的导入信息;
B2、导入扩展代码使扩展代码成为原生代码中的内部类;
B3、去除扩展代码的公共字段,使扩展代码变成包访问权限的嵌套类,降低扩展代码对外访问范围;
B4、在扩展代码中加入静态字段,使扩展代码成为原生代码的嵌套类;
B5、构建出一个嵌套类的子类对象。
所述的基于Android系统的框架代码修改方法,其中,所述步骤B中,通过特定转换将扩展代码重塑为可供外部访问的类对象的步骤具体包括:
B1’、重塑扩展代码中原有的导入信息;
B2’、创建一个继承自原生代码的嵌套类的扩展类;
B3’、创建一个参数为原生代码的构造器;
B4’、创建一个静态方法,来扩展类对象。
所述的基于Android系统的框架代码修改方法,其中,所述步骤B3’,构造器的实现为调用父类的构造。
所述的基于Android系统的框架代码修改方法,其中,所述步骤B4’,静态方法为get()方法,内部实现为通过原生代码获取其对应的扩展代码。
一种基于Android系统的框架代码修改装置,其中,包括:
分离模块,用于对Android框架代码进行功能扩展时,解耦成扩展代码和原生代码,框架代码的功能扩展写在扩展代码中,使扩展代码和原生代码分离;
编译模块,用于在进行编译时,将原生代码和扩展代码进行代码重组,使原生代码和扩展代码之间实现互访,以及通过特定转换将扩展代码重塑为可供外部访问的类对象。
所述的基于Android系统的框架代码修改装置,其中,所述编译模块包括:
合并单元,用于合并原生代码和扩展代码的导入信息;
导入单元,用于导入扩展代码使扩展代码成为原生代码中的内部类;
去除单元,用于去除扩展代码的公共字段,使扩展代码变成包访问权限的嵌套类,降低扩展代码对外访问范围;
静态字段加入单元,用于在扩展代码中加入静态字段,使扩展代码成为原生代码的嵌套类;
构建单元,用于构建出一个嵌套类的子类对象。
所述的基于Android系统的框架代码修改装置,其中,所述编译模块还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州TCL移动通信有限公司,未经惠州TCL移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510055278.3/2.html,转载请声明来源钻瓜专利网。