• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 10
    • 下载费用:30 金币  

    重庆时时彩杀号chexu: 一种分离JAVA归档文件的方法及系统.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201310237439.1

    申请日:

    2013.06.17

    公开号:

    CN103324514A

    公开日:

    2013.09.25

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||专利申请权的转移IPC(主分类):G06F 9/45登记生效日:20161213变更事项:申请人变更前权利人:TCL通讯(宁波)有限公司变更后权利人:TCL移动通信科技(宁波)有限公司变更事项:地址变更前权利人:315100 浙江省宁波市高新区扬帆路999弄5号6楼变更后权利人:315100 浙江省宁波市高新区扬帆路999弄5号10楼|||实质审查的生效IPC(主分类):G06F 9/45申请日:20130617|||公开
    IPC分类号: G06F9/45; G06F9/44 主分类号: G06F9/45
    申请人: TCL通讯(宁波)有限公司
    发明人: 史豪君
    地址: 315100 浙江省宁波市高新区扬帆路999弄5号6楼
    优先权:
    专利代理机构: 深圳市君胜知识产权代理事务所 44268 代理人: 刘文求;杨宏
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201310237439.1

    授权公告号:

    |||||||||

    法律状态公告日:

    2017.01.25|||2017.01.04|||2014.01.01|||2013.09.25

    法律状态类型:

    授权|||专利申请权、专利权的转移|||实质审查的生效|||公开

    摘要

    本发明公开一种分离java归档文件的方法及系统,其中,所述方法包括步骤:在编译目标文件时,将编译所需的java源码从源码目录中引用到编译过程中,并与目标代码一起进行编译,在编译过程中,记录参与编译的java源码;将参与编译的java源码编译出的字节码文件剔除,并将剩下的字节码文件打包成最终的java归档文件。本发明使得java归档文件的分离更加方便和灵活,增加了编译时引入的功能,解决了jar包需要相互依赖的问题。

    权利要求书

    权利要求书
    1.   一种分离java归档文件的方法,其特征在于,包括步骤:
    A、在编译目标文件时,将编译所需的java源码从源码目录中引用到编译过程中,并与目标代码一起进行编译,在编译过程中,记录参与编译的java源码;
    B、将参与编译的java源码编译出的字节码文件剔除,并将剩下的字节码文件打包成最终的java归档文件。

    2.   根据权利要求1所述的分离java归档文件的方法,其特征在于,所述步骤A具体包括:
    A1、在编译目标文件时,从源码目录中获取编译所需的java源码;
    A2、将java源码与目标代码一起进行编译;
    A3、记录参与编译的java源码,以区分目标代码与java源码。

    3.   根据权利要求1所述的分离java归档文件的方法,其特征在于,所述步骤B具体包括:
    B1、将java源码与目标代码编译出的字节码文件区分开来;
    B2、剔除由java源码编译出的字节码文件;
    B3、将剩余的字节码文件打包成最终的java归档文件。

    4.   根据权利要求2所述的分离java归档文件的方法,其特征在于,所述步骤A3中,通过一变量记录所有的java类以及java类的子类。

    5.   一种分离java归档文件的系统,其特征在于,包括:
    参与编译???,用于在编译目标文件时,将编译所需的java源码从源码目录中引用到编译过程中,并与目标代码一起进行编译,在编译过程中,记录参与编译的java源码;
    选择打包???,用于将参与编译的java源码编译出的字节码文件剔除,并将剩下的字节码文件打包成最终的java归档文件。

    6.   根据权利要求5所述的分离java归档文件的系统,其特征在于,所述参与编译??榘ǎ?BR>获取单元,用于在编译目标文件时,从源码目录中获取编译所需的java源码;
    编译单元,用于将java源码与目标代码一起进行编译;
    记录单元,用于记录参与编译的java源码,以区分目标代码与java源码。

    7.   根据权利要求5所述的分离java归档文件的系统,其特征在于,所述选择打包??榘ǎ?BR>区分单元,用于将java源码与目标代码编译出的字节码文件区分开来;
    剔除单元,用于剔除由java源码编译出的字节码文件;
    打包单元,用于将剩余的字节码文件打包成最终的java归档文件。

    8.   根据权利要求6所述的分离java归档文件的系统,其特征在于,所述记录单元通过一变量记录所有的java类以及java类的子类。

    说明书

    说明书一种分离java归档文件的方法及系统
    技术领域
    本发明涉及Android系统开发领域,尤其涉及一种分离java归档文件的方法及系统。
    背景技术
    Android系统是谷歌推出的一种智能的移动终端操作系统。在Android系统的framework(框架)开发过程中,会加入大量的自定义的类和方法,久而久之,在编译framework??榈氖焙蚓陀锌赡艹鱿纸涌谑砍畹拇砦?。其原因是:Android特有的dex文件(Android平台可执行文件的类型)最大可容纳65535个接口,超过这个接口数,就可能出现错误。
    现有技术中,在遇到framework中接口数量超额的情况时,就会将原有的framework分成两个java归档文件(简称jar包):framework.jar(A)和framework_ext.jar(B),这两个jar包容易形成相互依赖的关系,即framework.jar中的某些java文件在调用framework_ext.jar中的某些java文件,而且framework_ext.jar中的某些java文件在调用framework.jar中的一些java文件,如图1所示,形成了A依赖于B,同时B依赖于A的关系,所以这种相互依赖的关系导致java编译系统是无法编译通过的。
    因此,现有技术还有待于改进和发展。
    发明内容
    鉴于上述现有技术的不足,本发明的目的在于提供一种分离java归档文件的方法及系统,旨在解决现有技术中jar包相互依赖无法编译通过的问题。
    本发明的技术方案如下:
    一种分离java归档文件的方法,其中,包括步骤:
    A、在编译目标文件时,将编译所需的java源码从源码目录中引用到编译过程中,并与目标代码一起进行编译,在编译过程中,记录参与编译的java源码;
    B、将参与编译的java源码编译出的字节码文件剔除,并将剩下的字节码文件打包成最终的java归档文件。
    所述的分离java归档文件的方法,其中,所述步骤A具体包括:
    A1、在编译目标文件时,从源码目录中获取编译所需的java源码;
    A2、将java源码与目标代码一起进行编译;
    A3、记录参与编译的java源码,以区分目标代码与java源码。
    所述的分离java归档文件的方法,其中,所述步骤B具体包括:
    B1、将java源码与目标代码编译出的字节码文件区分开来;
    B2、剔除由java源码编译出的字节码文件;
    B3、将剩余的字节码文件打包成最终的java归档文件。
    所述的分离java归档文件的方法,其中,所述步骤A3中,通过一变量记录所有的java类以及java类的子类。
    一种分离java归档文件的系统,其中,包括:
    参与编译???,用于在编译目标文件时,将编译所需的java源码从源码目录中引用到编译过程中,并与目标代码一起进行编译,在编译过程中,记录参与编译的java源码;
    选择打包???,用于将参与编译的java源码编译出的字节码文件剔除,并将剩下的字节码文件打包成最终的java归档文件。
    所述的分离java归档文件的系统,其中,所述参与编译??榘ǎ?
    获取单元,用于在编译目标文件时,从源码目录中获取编译所需的java源码;
    编译单元,用于将java源码与目标代码一起进行编译;
    记录单元,用于记录参与编译的java源码,以区分目标代码与java源码。
    所述的分离java归档文件的系统,其中,所述选择打包??榘ǎ?
    区分单元,用于将java源码与目标代码编译出的字节码文件区分开来;
    剔除单元,用于剔除由java源码编译出的字节码文件;
    打包单元,用于将剩余的字节码文件打包成最终的java归档文件。
    所述的分离java归档文件的系统,其中,所述记录单元通过一变量记录所有的java类以及java类的子类。
    有益效果:本发明通过在编译目标文件时,引入java源码与目标代码一起编译,并且在编译后将java源码编译出的字节码文件剔除,从而使得java归档文件的分离更加方便和灵活,增加了编译时引入的功能,解决了jar包需要相互依赖的问题。
    附图说明
    图1为现有技术中Android平台编译系统的结构框图。
    图2为本发明一种分离java归档文件的方法较佳实施例的流程图。
    图3为本发明中Android平台编译系统的结构框图。
    图4为图2所示方法中步骤S101的具体流程图。
    图5为图2所示方法中步骤S102的具体流程图。
    图6为本发明一种分离java归档文件的系统较佳实施例的结构框图。
    图7为图6所示系统中参与编译??榈木咛褰峁箍蛲?。
    图8为图6所示系统中选择打包??榈木咛褰峁箍蛲?。
    具体实施方式
    本发明提供一种分离java归档文件的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
    请参阅图2,图2为本发明分离java归档文件的方法较佳实施例的流程图,如图所示,其包括步骤:
    S101、在编译目标文件时,将编译所需的java源码从源码目录中引用到编译过程中,并与目标代码一起进行编译,在编译过程中,记录参与编译的java源码;
    S102、将参与编译的java源码编译出的字节码文件剔除,并将剩下的字节码文件打包成最终的java归档文件。
    在本实施例中,为了解决背景技术中提到的两个jar包相互依赖的问题,本发明修改了传统的关于java部分的编译和打包的功能,即在编译java文件的阶段增加“java引用(Java Include)”的功能,而在打包成jar包的阶段增加“分离字节码文件”的功能,利用相当于参与编译和选择打包的功能结合Android系统的jar包支持单向依赖的功能,如图3所示,从而使java编译系统能够在接口数量超额的情况下也能编译通过。
    下面具体描述本实施例的方法的流程。
    在步骤S101中,就是在编译目标文件时,将编译所需的java源码引用到编译过程,一起进行编译,如图4所示,步骤S101可细化为如下步骤:
    S201、在编译目标文件时,从源码目录中获取编译所需的java源码;
    S202、将java源码与目标代码一起进行编译;
    S203、记录参与编译的java源码,以区分目标代码与java源码。
    在参与编译的结构中包括:include.mk,该文件用来描述和执行Java Include,此文件一般存放在参与编译的源码目录下,用于指明此源码目录下的所有文件会被参与编译,此文件的内容由4部分组成:1、工具get?relative?dir,2、工具all?java?includes?under,3、LOCAL_JAVA_INCLUDES,4、LOCAL_SRC_FILES。下面对4个部分分别进行说明:
    1、工具get?relative?dir,用于获取源码目录相对于目标代码所在的目录的相对目录,是用shell脚本写成,如下:
    define get?relative?dir
    $(subst$(space),/,$(wordlist $(words $(subst/,,$(LOCAL_PATH)/suffix)),\
       $(words $(subst/,,$(THIS_DIR))),$(subst/,,$(THIS_DIR))))
    endef
    2、工具all?java?includes?under,此工具用于获取当前目录下的所有java文件,通过此工具获得的信息包括java文件的完整包名和文件名,也是用shell脚本写成,如下:
    define all?java?includes?under
    $(patsubst ./%,%,\
      $(shell cd$(1);\
          find.?name”*.jjava” –and –not –name “.*”)*”)\
    )
    endef
    3、LOCAL_JAVA_INCLUDES,用于记录所有的java类以及java类的子类,记录在这个变量中的类将会在选择打包时被剔除。
    4、LOCAL_SRC_FILES,用于记录要参与编译的java文件。
    一个完整的include.mk文件的内容,举例如下:
    THIS_DIR:=$(call my?dir)
    RELATIVE_DIR:=$(call get?relative?dir)
    JAVA_INCLUDES:=%(call all?java?includes?under, $(THIS_DIR)/core/java/)
    LOCAL_JAVA_INCLUDES +=$(JAVA_INCLUDES:.java=.class)
    LOCAL_JAVA_INCLUDES +=$(JAVA_INCLUDES:.java=\$$*.class)
    LOCAL_SRC_FILES +=$(addprefix $(RELATIVE_DIR)/core/java/,/(JAVA_INCLUDES))
    若目标代码需要某些java源码参与编译,那么只需在目标代码自己的Android.mk中导入参与编译代码的include.mk文件即可。
    在参与编译时,还需在现有的编译系统中增加新的机制,使编译的目标文件除了原有的单向依赖外,还需要对Java Include文件依赖,这样做的目的是使编译系统能够知道哪些代码是属于参与编译的源码,哪些目标代码,从而为后续的选择打包做好准备。这种新的机制可在build/core/base_rules.mk中增加,内容如下:
    Ifneq(“$(LOCAL_JAVA_INCLUDES)”,””)
    $(LOCAL_INTERMEDIATE_TARGETS):PRIVATE_JAVA_INCLUDES:=$(LOCAL_JAVA_INCLUDES)
    Else
    PRIVATE_JAVA_INCLUDES:=
    endif
    在步骤S102中,在编译过程中形成的中间文件即字节码文件会有一部分被剔除,具体来说,如图5所示,步骤S102可细化为如下步骤:
    S301、将java源码与目标代码编译出的字节码文件区分开来;
    S302、剔除由java源码编译出的字节码文件;
    S303、将剩余的字节码文件打包成最终的java归档文件。
    因为在前述步骤中已经记录了PRIVATE_JAVA_INLCUDE,所以在打包之前只需删除此部分内容即可,实现的代码放在build/core/definitions.mk的函数compile?java中,在此就不一一例举了。
    基于上述方法,本发明还提供一种分离java归档文件的系统,如图6所示,其包括:
    参与编译???00,用于在编译目标文件时,将编译所需的java源码从源码目录中引用到编译过程中,并与目标代码一起进行编译,在编译过程中,记录参与编译的java源码;
    选择打包???00,用于将参与编译的java源码编译出的字节码文件剔除,并将剩下的字节码文件打包成最终的java归档文件。
    进一步,如图7所示,所述参与编译???00包括:
    获取单元110,用于在编译目标文件时,从源码目录中获取编译所需的java源码;
    编译单元120,用于将java源码与目标代码一起进行编译;
    记录单元130,用于记录参与编译的java源码,以区分目标代码与java源码。
    进一步,如图8所示,所述选择打包???00包括:
    区分单元210,用于将java源码与目标代码编译出的字节码文件区分开来;
    剔除单元220,用于剔除由java源码编译出的字节码文件;
    打包单元230,用于将剩余的字节码文件打包成最终的java归档文件。
    进一步,所述记录单元通过一变量记录所有的java类以及java类的子类。关于上述??榈ピ募际跸附谠谇懊娴姆椒ㄖ幸延邢晔?,故不再赘述。
    综上所述,本发明通过在编译目标文件时,引入java源码与目标代码一起编译,并且在编译后将java源码编译出的字节码文件剔除,从而使得java归档文件的分离更加方便和灵活,增加了编译时引入的功能,解决了jar包需要相互依赖的问题。
    应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的?;し段?。

    关 键 词:
    一种 分离 JAVA 归档 文件 方法 系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种分离JAVA归档文件的方法及系统.pdf
    链接地址://www.4mum.com.cn/p-5778605.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03