CN106997364A - 一种终端的应用资源检测方法及装置 - Google Patents

一种终端的应用资源检测方法及装置 Download PDF

Info

Publication number
CN106997364A
CN106997364A CN201610051679.6A CN201610051679A CN106997364A CN 106997364 A CN106997364 A CN 106997364A CN 201610051679 A CN201610051679 A CN 201610051679A CN 106997364 A CN106997364 A CN 106997364A
Authority
CN
China
Prior art keywords
application
resource file
resource
information
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610051679.6A
Other languages
English (en)
Inventor
陆华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610051679.6A priority Critical patent/CN106997364A/zh
Publication of CN106997364A publication Critical patent/CN106997364A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种终端的应用资源检测方法及装置。所述方法可以包括:从终端的应用包中获取应用的配置文件信息;从所述应用包中提取出应用的可执行文件,并获取所述可执行文件的字符串信息;遍历所述应用包中的应用资源文件,生成所述应用资源文件名称的资源文件信息;分别在所述字符串信息与所述配置文件信息中搜索所述资源文件信息中的资源文件名;根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性。利用本申请实施例可以检测出应用中更没有被实际使用到的应用资源,可以根据检测结果进行处理后减小应用包大小,降低网络传输流量和下载时间,提高用户体验。

Description

一种终端的应用资源检测方法及装置
技术领域
本申请属于计算机数据处理领域,尤其涉及一种终端的应用资源检测方法及装置。
背景技术
随着互联网技术的发展和移动终端普及,用户可以通过移动终端安装使用更多的应用。这些移动应用可以大大丰富和便利用户的生活、工作、娱乐,因此,目前也踊跃出大量的新应用的和应用版本的升级,以满足用户的各种需求。
目前移动终端的应用安装和升级主要是基于网络传输,因此,应用安装包的大小直接关系到网络传输流量和下载时间,以及终端应用中系统内存的占用情况。尤其是对终端利用移动通信网络进行应用安装或升级包的下载时,更是直接关系到用户手机流量,若安装包程序过大,可能会导致用户因担心手机流量问题而停止安装或升级,对应用的运营者而言将会造成用户流失。
然而现有技术中通常是在应用的设计阶段尽量的进行程序、资源优化,以减小安装应用的大小,即使是这样,实际发生的终端安装或升级的应用包中仍然有可能存在没有被实际使用到的应用资源,造成应用包的资源冗余。
发明内容
本申请目的在于提供一种终端的应用资源检测方法及装置,可以检测出应用中更没有被实际使用到的应用资源,可以根据检测结果进行处理后减小应用包大小,降低网络传输流量和下载时间,提高用户体验。
本申请提供的一种终端的应用资源检测方法及装置是这样实现的:
一种终端的应用资源检测方法,所述方法包括:
从终端的应用包中获取应用的配置文件信息;
从所述应用包中提取出应用的可执行文件,并获取所述可执行文件的字符串信息;
遍历所述应用包中的应用资源文件,生成所述应用资源文件名称的资源文件信息;
分别在所述字符串信息与所述配置文件信息中搜索所述资源文件信息中的资源文件名;
根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性。
一种终端的应用资源检测装置,所述装置包括:
配置文件信息获取模块,用于从终端的应用包中获取应用的配置文件信息;
应用字符串提取模块,用于从所述应用包中提取出应用的可执行文件,并获取所述可执行文件的字符串信息;
资源文件信息获取模块,用于遍历所述应用包中的应用资源文件,生成所述应用资源文件名称的资源文件信息;
搜索模块,用于分别在所述字符串信息与所述配置文件信息中搜索所述资源文件信息中的资源文件名;
检测确定模块,用于根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性。
本申请提供的一种终端的应用资源检测方法及装置,通过解析应用包的可执行文件的字符串和应用的配置信息确定出应用必要的文件信息,然后在遍历查找应用包中所有的应用资源文件。进一步的,本申请通过将所述应用资源文件的信息和所述必要的文件信息进行对比计算,从而可以搜索出应用资源文件中不属于所述可执行文件和配置信息中包括的必要的文件信息,然后可以根据搜索结果确定出应用包中哪些应用资源文件未无效的资源文件,哪些是需要保留的应用资源文件,实现应用包中资源的有效性检测。进而可以实现有效性删除判断为无效资源的应用资源文件,达到减小应用包大小的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一种终端的应用资源检测方法一种实施例的方法流程示意图;
图2是本申请一种实施例中“Portal.app”升级应用包的结构示意图;
图3是本申请实施例中可执行文件“Portal”导出的字符串信息的部分示意图;
图4是本申请一种实施例中生成的所述资源文件信息的示意图;
图5是本申请实施例一种应用场景下提取的资源文件名的信息示意图;
图6是本申请所述终端的应用资源检测装置一种实施例的模块结构示意图;
图7是本申请提供的所示终端的应用资源检测装置另一种实施例的模块结构示意图;
图8是本申请提供的所示终端的应用资源检测装置另一种实施例的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面结合附图对本申请所述终端的应用资源检测方法及装置进行详细的说明。图1是本申请所述一种终端的应用资源检测方法一种实施例的方法流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述的方法的在实际中的装置或者终端产品、系统中执行时,可以按照实施例或者附图所示的方法进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的本申请提供的一种终端的应用资源检测方法的一种实施例如图1所示,所述方法可以包括:
S1:从终端的应用包中获取应用的配置文件信息。
本申请中所述的终端的应用包可以包括安装与移动终端的移动应用包,如手机、平板等上的各种APP。其他的实施例中也可以包括PC或者服务器等终端设备上的系统、组件、功能模块等应用的应用包。所述的应用包可以为应用的包装包,也可以为应用的升级包。本申请实施例以发布的iOS系统的“Portal.app”的升级应用包为例进行说明。
本实施例应用场景中可以先获取用来发布的移动应用“Portal.app”的升级应用包。图2是本实施例所述“Portal.app”升级应用包的结构示意图。一般的,应用包可以包括应用安装、运行过程中使用的各种资源和配置文件信息,如运行时使用到的图片、音频、视频等资源文件。应用中的配置文件信息通常包括应用安装或运行所必须的相关参数、资源配置或设置的信息等。本申请中获取终端的应用包后,可以解压获取所述应用包中的配置文件,如图2中“Portal.app”的配置文件为“info.plist”。当然,所述的配置文件在不同的应用设计语言或设计需求下可以为其他的文件信息格式,如在一些应用包中所述的配置文件信息可以为以“*.ini”结尾的文件。具体的,可以根据需要检测处理的应用包的具体设计进行判断选取,在此不做赘述。
在本实施例中可以获取终端的应用包,以及获取所述应用包中应用的配置文件信息。
S2:从所述应用包中提取出应用的可执行文件,并获取所述可执行文件的字符串信息。
进一步的,本实施例可以从所述应用包中提取出应用的可执行文件,如图2中所示的升级应用包“Portal.app”中的“Portal”。所述的应用的可执行文件通常为应用编译之后的可执行程序文件。一般的,所述的可执行文件在特定环境语言下可以对应某中特定的后缀名,例如windows系统中通常以“.exe”结尾、安卓系统中以“.dex”的文件。本实施例应用场景中可以不设置后缀名,可以直接获取可执行文件“Portal”。
获取所述可执行文件后,将所述可执行文件中的字符串导出并保持,获取可执行文件的字符串信息。具体的,本申请实施例中可以在Linux系统环境下,可以通过执行命令stringsPortal>stringTable.txt将可执行文件“Portal”中的字符串信息导出保持到文本文件“stringTable.tx”中。图3是本申请实施例中可执行文件“Portal”导出的字符串信息的部分示意图。
S3:遍历所述应用包中的应用资源文件,生成所述应用资源文件名称的资源文件信息。
应用包中通常包括与应用安装、运行等相关的应用资源文件,这些应用资源文件有的是应用运行必须加载使用的,有的是备份使用,或者包括提高用户体验的资源文件如华丽皮肤、高档音效,甚至还可以包括预留的预期后期可能使用到的应用资源文件。本申请实施例中可以遍历查找所述应用包中所有的应用资源文件,然后提取应用资源文件的名称,生成存储有所述应用资源文件名称的资源文件信息。
图4是本申请一种实施例中生成的所述资源文件信息的示意图。如图4中所示的可以遍历“Portal.app”应用包种的所有应用资源文件,然后将资源文件名保持到文本文件“resources.txt”。在图4中所示的资源文件信息“resources.txt”中包括“image1.png”和“soud.wav”两个应用资源文件的资源文件名。
本实施例所述方法中可以遍历所述应用包中的应用资源文件,生成所述应用资源文件名称的资源文件信息。
S4:分别在所述字符串信息与所述配置文件信息中搜索所述资源文件信息中的资源文件名。
上述所述获取的可执行文件的字符串信息和所述配置文件信息通常包括了应用在终端安装或运行时所需的必要资源文件。本申请提供的应用资源检测方法可以在所述字符串信息和所述配置文件信息中搜索是否包括资源文件信息中的资源文件名。如果搜索到,则可以表示该资源文件实际被使用到,否则可以初步认为资源文件没有被使用到。具体的,在本实施例应用场景中,可以在字符串信息的“stringTable.txt”文件和配置文件信息的“info.plist”中逐个搜索资源文件信息中的资源文件名称。在Linux环境下可以通过执行下述命令实现:
grep‘image1.png’stringTable.txt
grep‘image1.png’info.plist
当然,在其他的实施例应用场景中,如包括但不限于Java、C、Objetive-C、Javascript、HTML、CSS、XML等的实现语言,可以根据具体采用是实现语言执行相应的命令。
S5:根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性。
如前所述,可以根据资源文件名的搜索结果确定所述应用包中资源文件是否有效。具体的例如上述实施例应用场景中,在字符串信息的“stringTable.txt”文件和配置文件信息的“info.plist”中逐个搜索资源文件信息中的资源文件名称。若两条执行命令中有一个有返回值,即当前搜索的资源文件名在所述字符串信息或者所述配置文件信息中有搜索匹配结果,则可以表示当前资源文件名对应的应用资源文件实际可以被使用到。反之,如果两个命令都没有返回值,即当前搜索的资源文件名在所述字符串信息或者所述配置文件信息中没有搜索匹配结果,则可以初步认为当前搜索的资源文件名对应的应用资源文件没有被实际使用到。
需要说明的是,本申请所述的方法的执行顺序并不限于实施例或者附图所示的执行顺序,如“遍历所述应用包中的应用资源文件”可以在“从所述应用包中提取出应用的可执行文件,并获取所述可执行文件的字符串信息”步骤之前执行或者并行执行。其他的执行步骤参照上述同样可以不必限于实施例的限制。
本申请的一种实施例中可以初步认为上述没有搜索到的资源文件名对应的应用资源文件为无效资源,相应的搜索到的资源文件名对应的应用资源文件可以初步认为为有效资源。当然,是否为有效资源可以以搜索结果作为参考因素,同时也可以结合其他判定因素进行确认。具体的可以根据实际的检测环境或检测需求设定判定应用资源是否有效的规则。在本申请提供的一种实施例中,所述根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性包括:
S501:若在所述字符串信息和所述配置文件信息中的任意一项搜索到所述资源文件信息中的资源文件名,则判定所述搜索到的资源文件名对应的应用资源文件为有效资源;
否则,判定未搜索到的资源文件名对应的应用资源文件为无效资源。
本申请实施例提供的一种终端的应用资源检测方法,可以通过解析应用包的可执行文件的字符串和应用的配置信息确定出应用必要的文件信息,然后在遍历查找应用包中所有的应用资源文件。进一步的,本申请通过将所述应用资源文件的信息和所述必要的文件信息进行对比计算,从而可以搜索出应用资源文件中不属于所述可执行文件和配置信息中包括的必要的文件信息,实现对应用包中应用资源的有效性检测。
经过上述方法处理,可以初步确定一批无效资源。在其他的一些应用场景中可能存在资源文件名为字符串变量拼接的情况,如图5所示,图5为本申请实施例一种应用场景下提取的资源文件名的信息示意图。因此,本申请提供的所示一种终端的应用资源检测方法的另一种实施例中,可以引入过滤算法,可以大大降低检测误报的情况,有效保障资源有效性检测的可靠性。具体的可以提取出字符串变量拼接的前缀,然后在可执行文件的字符串信息和所述配置文件信息中查询所述提取出的前缀,根据查询结果确定资源文件的有效性。具体的,本申请所述方法的另一种实施例中,所述方法还可以包括采用下述方式对在所述字符串信息与所述配置文件信息中未搜索到所述资源文件信息中的资源文件名所对应的第一应用资源文件进行资源有效性过滤处理:
S601:扫描所述第一应用资源文件的文件名,获取文件名列表信息;
S602:当所述文件名列表信息中出现至少两个文件名的前缀字符相同时,获取所述前缀字符相同的文件名的前缀字符串;
S603:将所述前缀字符串在所述字符串信息与所述配置文件信息中进行前缀搜索,根据所述前缀搜索的结果确定以所述前缀字符串开头的第一应用资源文件是否有效。
这样,如果出现前缀一致的多个资源文件名,可以将前缀字符串在所述字符串信息与所述配置文件信息再次进行搜索。具体的执行可以如上述实施例的资源文件名的搜索处理方式。例如可以在Linux环境下执行下述命令:
grep‘PullReflashIcon_’stringTable.txt
grep‘PullReflashIcon_’info.plist
如果上述两条命令的其中一条有返回值,则表示以此前缀开头的资源都有效,否则,则认为以此前缀开头的资源均属无效资源。具体的,本申请所述方法的另一种实施例应用场景中,所述根据所述前缀搜索的结果确定以所述前缀字符串开头的第一应用资源文件是否有效可以包括:
若在所述字符串信息和所述配置文件信息中的任意一项搜索到所述列表信息中前缀字符串,则判定以所述搜索到的前缀字符串开头的第一应用资源文件为有效资源;
否则,判定以未搜索到的前缀字符串开头的第一应用资源文件为无效资源。
当然,对于应用包中判定为无效资源的资源文件如上述基于资源文件名判定的应用资源文件或基于前缀字符串判定的第一应用资源文件,可以采用相应的处理方式进行处理。如进行资源修改、资源替换、资源压缩、删除等。具体的。本申请所述的一种终端的应用资源文件检测方法的另一种实施例中,所述方法还可以包括:
S7:对所述应用包中判定为无效资源的应用资源文件或第一应用资源文件执行下述中的任意一项操作:
修改无效资源文件,替换无效资源文件,压缩无效资源文件,删除无效资源文件。
在本实施例所述“Portal.app”升级应用包的应用场景中,可以在所述应用包中直接删除判断为无效的应用资源文件或第一应用资源文件。这样,可以删除应用包中实际使用不到的资源文件,减小升级应用包大小,从而降低应用包下载传输时间,节约用户网络传输流量,提升用户体验。
基于本申请所述的应用资源检测方法,本申请提供一种终端的应用资源检测装置。图6是本申请所述终端的应用资源检测装置一种实施例的模块结构示意图,具体的如图6所示,所述装置可以包括:
配置文件信息获取模块101,可以用于从终端的应用包中获取应用的配置文件信息;
应用字符串提取模块102,可以用于从所述应用包中提取出应用的可执行文件,并获取所述可执行文件的字符串信息;
资源文件信息获取模块103,可以用于遍历所述应用包中的应用资源文件,生成所述应用资源文件名称的资源文件信息;
搜索模块104,可以用于分别在所述字符串信息与所述配置文件信息中搜索所述资源文件信息中的资源文件名;
检测确定模块105,可以用于根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性。
当然,在具体的实施过程中,参照上述方法实施例所述,所述检测确定模块105根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性可以包括:
若在所述字符串信息和所述配置文件信息中的任意一项搜索到所述资源文件信息中的资源文件名,则判定所述搜索到的资源文件名对应的应用资源文件为有效资源;
否则,判定未搜索到的资源文件名对应的应用资源文件为无效资源。
本申请所述装置的另一种实施例中,还可以包括对所述搜索模块104中未搜索到所述资源文件信息中的资源文件名所对应的第一应用资源文件进行资源有效性过滤处理的装置单元。具体的,图7是本申请提供的所示终端的应用资源检测装置另一种实施例的模块结构示意图。如图7所示,所述装置还可以包括:
过滤处理模块106,可以用于采用下述方式对在所述字符串信息与所述配置文件信息中未搜索到所述资源文件信息中的资源文件名所对应的第一应用资源文件进行资源有效性过滤处理:
扫描所述第一应用资源文件的文件名,获取文件名列表信息;
当所述文件名列表信息中出现至少两个文件名的前缀字符相同时,获取所述前缀字符相同的文件名的前缀字符串;
将所述前缀字符串在所述字符串信息与所述配置文件信息中进行前缀搜索,根据所述前缀搜索的结果确定以所述前缀字符串开头的第一应用资源文件是否有效。
当然,如前所述,所述过滤处理模块106根据所述前缀搜索的结果确定以所述前缀字符串开头的第一应用资源文件是否有效具体的可以包括:
若在所述字符串信息和所述配置文件信息中的任意一项搜索到所述列表信息中前缀字符串,则判定以所述搜索到的前缀字符串开头的第一应用资源文件为有效资源;
否则,判定以未搜索到的前缀字符串开头的第一应用资源文件为无效资源。
本实施例所述装置中引入过滤出模块,可以大大降低检测误报的情况,有效保障资源有效性检测的可靠性。
进一步的,所述装置还可以对检测出为无效资源的文件进行相应的操作处理。图8是本申请提供的所示终端的应用资源检测装置另一种实施例的模块结构示意图。具体的如图8所示,所述装置还可以包括:
无效资源处理模块107,可以用于对所述应用包中判定为无效资源的应用资源文件或第一应用资源文件执行下述中的任意一项操作:
修改无效资源文件,替换无效资源文件,压缩无效资源文件,删除无效资源文件。
具体的例如除相应方法所述的删除无效资源文件外,也可以将某个或者多个无效资源进行压缩处理后替换掉原来的文件,这样同样可以达到减少压缩包大小的目的。
本申请提供的一种终端的应用资源检测方法及装置,通过解析应用包的可执行文件的字符串和应用的配置信息确定出应用必要的文件信息,然后在遍历查找应用包中所有的应用资源文件。进一步的,本申请通过将所述应用资源文件的信息和所述必要的文件信息进行对比计算,从而可以搜索出应用资源文件中不属于所述可执行文件和配置信息中包括的必要的文件信息,然后可以根据搜索结果确定出应用包中哪些应用资源文件未无效的资源文件,哪些是需要保留的应用资源文件。进而可以根据确定出的应用包括中应用资源文件的有效性删除判断为无效资源的应用资源文件,达到减小应用包大小的目的。
尽管本申请内容中提到从应用包中提取信息、可执行文件字符串导出、字符串比较等之类数据处理、信息交互的描述,但是,本申请并不局限于必须是完全标准或者所提及的方式的数据处理、信息交互的情况。本申请中各个实施例所涉及的上述描述仅是本申请中的一些实施例中的应用,在某些标准、方法的基础上略加修改后的处理方法也可以实行上述本申请各实施例的方案。当然,在符合本申请上述各实施例的中所述的处理方法步骤的其他无创造性的变形,仍然可以实现相同的申请,在此不再赘述。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现的控制器按任何适当的方式实现。例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (10)

1.一种终端的应用资源检测方法,其特征在于,所述方法包括:
从终端的应用包中获取应用的配置文件信息;
从所述应用包中提取出应用的可执行文件,并获取所述可执行文件的字符串信息;
遍历所述应用包中的应用资源文件,生成所述应用资源文件名称的资源文件信息;
分别在所述字符串信息与所述配置文件信息中搜索所述资源文件信息中的资源文件名;
根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性。
2.如权利要求1所述的一种终端的应用资源检测方法,其特征在于,所述根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性包括:
若在所述字符串信息和所述配置文件信息中的任意一项搜索到所述资源文件信息中的资源文件名,则判定所述搜索到的资源文件名对应的应用资源文件为有效资源;
否则,判定未搜索到的资源文件名对应的应用资源文件为无效资源。
3.如权利要求1所述的一种终端的应用资源检测方法,其特征在于,所述方法还包括:
采用下述方式对在所述字符串信息与所述配置文件信息中未搜索到所述资源文件信息中的资源文件名所对应的第一应用资源文件进行资源有效性过滤处理:
扫描所述第一应用资源文件的文件名,获取文件名列表信息;
当所述文件名列表信息中出现至少两个文件名的前缀字符相同时,获取所述前缀字符相同的文件名的前缀字符串;
将所述前缀字符串在所述字符串信息与所述配置文件信息中进行前缀搜索,根据所述前缀搜索的结果确定以所述前缀字符串开头的第一应用资源文件是否有效。
4.如权利要求3所述的一种终端的应用资源检测方法,其特征在于,所述根据所述前缀搜索的结果确定以所述前缀字符串开头的第一应用资源文件是否有效包括:
若在所述字符串信息和所述配置文件信息中的任意一项搜索到所述列表信息中前缀字符串,则判定以所述搜索到的前缀字符串开头的第一应用资源文件为有效资源;
否则,判定以未搜索到的前缀字符串开头的第一应用资源文件为无效资源。
5.如权利要求1或4所述的一种终端的应用资源检测方法,其特征在于,对所述应用包中判定为无效资源的应用资源文件或第一应用资源文件执行下述中的任意一项操作:
修改无效资源文件,替换无效资源文件,压缩无效资源文件,删除无效资源文件。
6.一种终端的应用资源检测装置,其特征在于,所述装置包括:
配置文件信息获取模块,用于从终端的应用包中获取应用的配置文件信息;
应用字符串提取模块,用于从所述应用包中提取出应用的可执行文件,并获取所述可执行文件的字符串信息;
资源文件信息获取模块,用于遍历所述应用包中的应用资源文件,生成所述应用资源文件名称的资源文件信息;
搜索模块,用于分别在所述字符串信息与所述配置文件信息中搜索所述资源文件信息中的资源文件名;
检测确定模块,用于根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性。
7.如权利要求6所述的一种终端的应用资源检测装置,其特征在于,所述检测确定模块根据所述资源文件名的搜索结果确定所述应用包中的应用资源文件有效性包括:
若在所述字符串信息和所述配置文件信息中的任意一项搜索到所述资源文件信息中的资源文件名,则判定所述搜索到的资源文件名对应的应用资源文件为有效资源;
否则,判定未搜索到的资源文件名对应的应用资源文件为无效资源。
8.如权利要求6所述的一种终端的应用资源检测装置,其特征在于,所述装置还包括:
过滤处理模块,用于采用下述方式对在所述字符串信息与所述配置文件信息中未搜索到所述资源文件信息中的资源文件名所对应的第一应用资源文件进行资源有效性过滤处理:
扫描所述第一应用资源文件的文件名,获取文件名列表信息;
当所述文件名列表信息中出现至少两个文件名的前缀字符相同时,获取所述前缀字符相同的文件名的前缀字符串;
将所述前缀字符串在所述字符串信息与所述配置文件信息中进行前缀搜索,根据所述前缀搜索的结果确定以所述前缀字符串开头的第一应用资源文件是否有效。
9.如权利要求8所述的一种终端的应用资源检测装置,其特征在于,所述过滤处理模块根据所述前缀搜索的结果确定以所述前缀字符串开头的第一应用资源文件是否有效包括:
若在所述字符串信息和所述配置文件信息中的任意一项搜索到所述列表信息中前缀字符串,则判定以所述搜索到的前缀字符串开头的第一应用资源文件为有效资源;
否则,判定以未搜索到的前缀字符串开头的第一应用资源文件为无效资源。
10.如权利要求6或9所述的一种终端的应用资源检测装置,其特征在于,所述装置还包括:
无效资源处理模块,对所述应用包中判定为无效资源的应用资源文件或第一应用资源文件执行下述中的任意一项操作:
修改无效资源文件,替换无效资源文件,压缩无效资源文件,删除无效资源文件。
CN201610051679.6A 2016-01-26 2016-01-26 一种终端的应用资源检测方法及装置 Pending CN106997364A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610051679.6A CN106997364A (zh) 2016-01-26 2016-01-26 一种终端的应用资源检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610051679.6A CN106997364A (zh) 2016-01-26 2016-01-26 一种终端的应用资源检测方法及装置

Publications (1)

Publication Number Publication Date
CN106997364A true CN106997364A (zh) 2017-08-01

Family

ID=59428743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610051679.6A Pending CN106997364A (zh) 2016-01-26 2016-01-26 一种终端的应用资源检测方法及装置

Country Status (1)

Country Link
CN (1) CN106997364A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558145A (zh) * 2017-09-26 2019-04-02 北京金山安全软件有限公司 一种面向安卓应用的安装包体积优化方法及装置
CN109816007A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 应用程序文字信息的行业分类方法、存储介质及终端设备
CN111142965A (zh) * 2019-12-16 2020-05-12 深圳市优必选科技股份有限公司 语言配置方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138833A1 (en) * 2008-12-01 2010-06-03 Microsoft Corporation Resource coverage and analysis
CN101763269A (zh) * 2010-01-27 2010-06-30 中兴通讯股份有限公司 一种软件安装包的制作方法
CN105204823A (zh) * 2014-05-29 2015-12-30 腾讯科技(深圳)有限公司 生成应用程序安装包的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138833A1 (en) * 2008-12-01 2010-06-03 Microsoft Corporation Resource coverage and analysis
CN101763269A (zh) * 2010-01-27 2010-06-30 中兴通讯股份有限公司 一种软件安装包的制作方法
CN105204823A (zh) * 2014-05-29 2015-12-30 腾讯科技(深圳)有限公司 生成应用程序安装包的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CAIZHONGTAO: "查找XCode工程中没被使用的图片资源", 《HTTPS://BLOG.CSDN.NET/CAIZHONGTAO/ARTICLE/DETAILS/50541927》 *
YUNPENG.HU: "iOS微信安装包瘦身", 《HTTP://WWW.COCOACHINA.COM/ARTICLES/14562》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558145A (zh) * 2017-09-26 2019-04-02 北京金山安全软件有限公司 一种面向安卓应用的安装包体积优化方法及装置
CN109558145B (zh) * 2017-09-26 2022-04-22 北京金山安全软件有限公司 一种面向安卓应用的安装包体积优化方法及装置
CN109816007A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 应用程序文字信息的行业分类方法、存储介质及终端设备
CN111142965A (zh) * 2019-12-16 2020-05-12 深圳市优必选科技股份有限公司 语言配置方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110968325B (zh) 一种小程序转换方法及装置
CN103164334B (zh) 检测web应用自动测试用例中的断裂点的系统和方法
US9262132B1 (en) Incremental local source code analysis
US20150234735A1 (en) Three-dimensional gui object stores in automation test tools
US20180060415A1 (en) Language tag management on international data storage
US10338901B2 (en) Translation of a visual representation into an executable information extraction program
US9311062B2 (en) Consolidating and reusing portal information
US9513901B2 (en) Deploying incremental scripts
CN105446725A (zh) 用于模型驱动开发的方法和系统
CN108089870B (zh) 用于修复应用的方法和装置
CN115033894B (zh) 一种基于知识图谱的软件组件供应链安全检测方法及装置
CN105094941B (zh) 一种实现多语言的方法及装置
CN106997364A (zh) 一种终端的应用资源检测方法及装置
EP2722783A2 (en) License verification method and apparatus
CN113760306B (zh) 安装软件的方法、装置、电子设备及存储介质
US20140033003A1 (en) Provision of alternative text for use in association with image data
CN114443041A (zh) 抽象语法树的解析方法及计算机程序产品
CN112463256A (zh) 确定配置文件的方法、系统、电子设备及存储介质
CN111563257A (zh) 数据检测方法及装置、计算机可读介质及终端设备
CN116431520A (zh) 测试场景确定方法、装置、电子设备和存储介质
CN112631621A (zh) 一种依赖包管理方法、装置、服务器及存储介质
CN115576600A (zh) 基于代码变更的差异处理方法、装置、终端及存储介质
CN104363237A (zh) 一种互联网媒体资源元数据的处理方法及其系统
CN113590179B (zh) 插件检测方法、装置、电子设备及存储介质
van den Bos et al. A case study in evidence-based DSL evolution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1241057

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: Greater Cayman, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20170801

RJ01 Rejection of invention patent application after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1241057

Country of ref document: HK