应用程序开发中的资源处理方法及装置的制造方法

文档序号:9750615阅读:205来源:国知局
应用程序开发中的资源处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种应用程序开发中的资源处理方法及装置。
【背景技术】
[0002]安卓应用程序(AndroidAPP)的资源有常量值资源(例如:字符串常量资源、尺寸常量资源、整数常量资源等)、图像资源、布局资源、菜单资源等。
[0003]在进行Android应用程序开发的过程中,随着项目工程量的增大,其所引用的资源也会逐渐变多。在开发的过程中也势必会对这些资源进行修改、替换或弃用,因此会导致一些资源没有被引用而成为了垃圾资源,如果不及时对这些垃圾资源进行相应处理,可能导致垃圾资源越积越多。然而,在Eclipse ADT开发环境下的默认编译系统在编译时并不能排除这些无引用的垃圾资源,这些垃圾资源会被编译到Android应用程序中,占用Android应用程序空间,造成无必要的空间浪费。
[0004]因此,相关技术中,想要防止垃圾资源被编译到Android应用程序中,需要开发者手动处理这些垃圾资源,而要从大量的多种类的资源中找出这些垃圾资源并对其进行处理,工作量大且并非易事。所以如果能够通过程序对项目中的无引用资源进行自动处理,将会提高Android应用程序的开发效率。

【发明内容】

[0005]本发明的主要目的在于公开了一种应用程序开发中的资源处理方法及装置,以至少解决相关技术中为防止垃圾资源被编译到Android应用程序中,需要开发者手动处理这些垃圾资源,工作量大且不易的问题。
[0006]根据本发明的一个方面,提供了一种应用程序开发中的资源处理方法。
[0007]根据本发明的应用程序开发中的资源处理方法包括:定位工程扫描工具;使用所述工程扫描工具对目标项目工程目录检测未被引用的资源;读取所述工程扫描工具输出的数据流,并逐行进行解析,对解析出的资源信息根据资源类型分别处理,其中,当资源类型为文件资源时,确定需要删除的文件资源并删除,当资源类型为常量值资源时,在该常量值资源所属的文档中删除该资源标识所对应的标签。
[0008]根据本发明的另一方面,提供了一种应用程序开发中的资源处理装置。
[0009]根据本发明的应用程序开发中的资源处理装置包括:定位模块,用于定位工程扫描工具;检测模块,用于使用所述工程扫描工具对目标项目工程目录检测未被引用的资源;处理模块,用于读取所述工程扫描工具输出的数据流,并逐行进行解析,对解析出的资源信息根据资源类型分别处理,其中,当资源类型为文件资源时,确定需要删除的文件资源并删除,当资源类型为常量值资源时,在该常量值资源所属的文档中删除该资源标识所对应的标签。
[0010]通过本发明,通过工程扫描工具检测项目中的所有无引用资源,并根据检测结果逐一定位其中的未被引用的资源,然后对其进行相应处理,可以对项目中的垃圾资源进行自动处理,提高应用程序的开发效率。
【附图说明】
[0011]图1是根据本发明实施例的应用程序开发中的资源处理方法的流程图;
[0012]图2是根据本发明优选实施例的应用程序开发中的资源处理方法的流程图;
[0013]图3是根据本发明实施例的应用程序开发中的资源处理装置的结构框图;以及
[0014]图4是根据本发明优选实施例的应用程序开发中的资源处理装置的结构框图。
【具体实施方式】
[0015]下面结合说明书附图对本发明的具体实现方式做一详细描述。
[0016]图1是根据本发明实施例的应用程序开发中的资源处理方法的流程图。如图1所示,该应用程序开发中的资源处理方法包括:
[0017]步骤SlOl:定位工程扫描工具;
[0018]步骤S103:使用上述工程扫描工具对目标项目工程目录检测未被引用的资源;
[0019]步骤S105:读取上述工程扫描工具输出的数据流,并逐行进行解析,对解析出的资源信息根据资源类型分别处理,其中,当资源类型为文件资源时,确定需要删除的文件资源并删除,当资源类型为常量值资源时,在该常量值资源所属的文档中删除该资源标识所对应的标签。
[0020]相关技术中,想要防止垃圾资源被编译到Android应用程序中,需要开发者手动处理这些垃圾资源,而要从大量的多种类的资源中找出这些垃圾资源并对其进行处理,工作量大且并非易事。采用图1所示的方法,通过工程扫描工具检测项目中的所有无引用资源,并根据检测结果逐一定位其中的未被引用的资源,然后对其进行相应处理,可以对项目中的垃圾资源进行自动处理,提高应用程序的开发效率。
[0021]优选地,上述方法可以用于安卓(Android)系统,上述工程扫描工具可以是Iint工具。上述文档可以是但不限于:XML文档。
[0022]上述步骤SlOl可以进一步包括但不限于:定位获取安卓(Android)系统中软件开发工具包SDK安装位置以及上述SDK所提供的工程扫描工具。即,这个工程扫描工具可以是SDK里提供的,也可以是开发者写的工具或者是第三方的工具。
[0023]上述应用程序开发中的资源处理方法可以应用于Eclipse的插件中,也可以应用于编译脚本中。
[0024]优选地,步骤S105可以进一步包括:将预设的忽略资源列表中资源名称与上述解析出的文件资源的资源名称进行匹配;在匹配成功的情况下,忽略上述解析出的文件资源,继续解析上述数据流的下一行;在未匹配成功的情况下,直接删除上述解析出的文件资源。
[0025]在优选实施过程中,在使用上述工程扫描工具对目标项目工程目录检测未被引用的资源后,还包括:将当前资源处理计数设置为O;在直接删除上述解析出的文件资源之后,还包括:将当前资源处理计数设置为加I。
[0026]优选地,步骤S105可以进一步包括:将预设的忽略资源列表中资源标识与上述解析出的常量值资源的资源标识进行匹配;在匹配成功的情况下,忽略上述解析出的常量值资源,继续解析上述数据流的下一行;在未匹配成功的情况下,确定上述解析出的常量值资源所属的可扩展标记语言XML文档,在上述XML文档中根据上述资源标识定位XML标签并删除。
[0027]在优选实施过程中,在使用上述工程扫描工具对目标项目工程目录检测未被引用的资源后,还包括:将当前资源处理计数设置为O;在上述XML文档中根据上述资源标识定位XML标签并删除之后,还包括:将当前资源处理计数设置为加I。
[0028]优选地,在步骤S105的对解析出的资源信息根据资源类型分别处理之后,还可以包括:判断当前的资源处理计数是否大于O;在当前的资源处理计数大于O时,返回执行使用上述工程扫描工具对目标项目工程目录检测未被引用的资源的步骤;在当前的资源处理计数为O时,执行对解析出的资源信息根据资源类型分别处理的后续步骤(例如,编译步骤)。
[0029]由于垃圾资源之间可能会存在引用关系,在删除引用者资源后,被引用的资源便成为了无引用资源,导致新的无引用资源出现。因此上述步骤处理结束后,如果其过程中资源处理计数大于0,需要再次检测,直到本次资源处理计数为O为止。
[0030]以下结合图2进一步描述上述优选实施方式。
[0031]图2是根据本发明优选实施例的应用程序开发中的资源处理方法的流程图。如图2所示,该应用程序开发中的资源处理方法包括:
[0032]步骤S201:找到系统中AndroidSDK安装位置(可由开发者配置)并找到AndroidSDK所提供的lint工具。
[0033]步骤S203:对目标项目工程目录执行Iint工具检测未被引用的资源。
[0034]步骤S205:设置资源处理计数为O。
[0035]步骤S207:判断Iint工具的输出流是否结束,如果是,执行步骤S233,否则,执行步骤S209。
[0036]步骤S209:读取Iint工具的输出流。
[0037]步骤S211:逐行解析其内容,直到所有输出内容全部被解析。
[0038]步骤S213:判断资源类型,如果是文件类型,执行步骤S215,否则,执行步骤S219。
[0039]步骤S215:如果行解析结果为文件资源,取出资源的文件路径。
[0040]步骤S217:将预设的忽略资源列表(即可以忽略的资源,可以有开发者预定设定)与该资源的资源名称进行匹配。之后执行步骤S223。
[0041]步骤S219:如果行解析结果为常量值资源,获取资源所属的XML文件路径及资源的资源标识。
[0042]步骤S221:将预设的忽略资源列表(即可以忽略的资源,可以有开发者预定设定)与该资源的资源标识(ID)进行匹配。之后执行步骤S223。
[0043]步骤S223:判断是否忽略,如果是,忽略该资源,执行步骤S207,继续解析下一行,否则,当资源类型为文件类型时,执行步骤S225,当资源类型为常量值类型时,执行步骤S227。
[0044]步骤S225:如果是文件资源,直接删除该资源的资源文件。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1