CN109408051B - 一种识别安卓游戏应用开发引擎的方法及终端 - Google Patents
一种识别安卓游戏应用开发引擎的方法及终端 Download PDFInfo
- Publication number
- CN109408051B CN109408051B CN201811466279.7A CN201811466279A CN109408051B CN 109408051 B CN109408051 B CN 109408051B CN 201811466279 A CN201811466279 A CN 201811466279A CN 109408051 B CN109408051 B CN 109408051B
- Authority
- CN
- China
- Prior art keywords
- keyword
- group
- file
- configuration
- hit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种识别安卓游戏应用开发引擎的方法及终端,通过获取待识别开发引擎的游戏应用的源文件夹,匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则匹配预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则判断是否存在还未用于匹配的关键字配置,若是,则获取下一个关键字配置进行匹配识别,若否,则输出结果,可以自动化、规则化地识别游戏引擎,不间断地进行识别,提高识别效率,识别经验和条件规则化,能够稳定提高识别准确率。
Description
技术领域
本发明涉及游戏引擎技术领域,尤其是涉及一种识别安卓游戏应用开发引擎的方法及终端。
背景技术
安卓游戏应用指运行在安卓(Android)操作系统中游戏类型的应用程序。
游戏开发引擎,是指一些已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件,这些系统为游戏设计者提供各种编写游戏所需的工具,其目的在于让游戏设计者能更容易和快速地做出游戏程式而无需从零开始。
目前,开发移动端游戏应用常用的游戏引擎有Cocos2d、Unity3d和UE4等,但是若要从游戏引擎的维度对游戏应用进行分类和统计,这方面的数据还存在很大的空白。
传统的游戏引擎识别方法采用人工识别,通过收集官方信息、体验游戏和分析游戏目录结构的方式,结合个人经验来识别游戏引擎。这种方法存在较多问题:不仅耗时长,效率低,无法处理大量数据,而且识别准确度浮动大,整体准确度低,规则不统一,过于依赖个人经验。
发明内容
本发明所要解决的技术问题是:提供一种识别安卓游戏应用开发引擎的方法及终端,可以自动规则化识别游戏引擎,提高识别效率。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种识别安卓游戏应用开发引擎的方法,包括步骤:
S1、获取待识别开发引擎的游戏应用的源文件夹;
S2、匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S3;
S3、匹配所述关键字配置中预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S4;
S4、判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则输出识别结果。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种识别安卓游戏应用开发引擎的终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取待识别开发引擎的游戏应用的源文件夹;
S2、匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S3;
S3、匹配所述关键字配置中预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S4;
S4、判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则输出识别结果。
本发明的有益效果在于:通过获取待识别开发引擎的游戏应用的源文件夹,匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则匹配预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则判断是否存在还未用于匹配的关键字配置,若是,则获取下一个关键字配置进行匹配识别,若否,则输出结果,可以自动化、规则化地识别游戏引擎,不间断地进行识别,提高识别效率,识别经验和条件规则化,能够稳定提高识别准确率。
附图说明
图1为本发明实施例的一种识别安卓游戏应用开发引擎的方法的流程图;
图2为本发明实施例的一种识别安卓游戏应用开发引擎的终端结构示意图;
图3为本发明实施例的一种识别安卓游戏应用开发引擎的方法的流程图;
图4为本发明实施例的一种识别安卓游戏应用脚本语言的方法的流程图;
标号说明:
1、一种识别安卓游戏应用开发引擎的终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:将待识别开发引擎的游戏应用的源文件夹与关键字配置中预设的或组关键字集合进行匹配,判断是否命中,若否,则将所述源文件夹与所述关键字配置中预设的与组关键字集合进行匹配,判断是否命中。
请参照图1,一种识别安卓游戏应用开发引擎的方法,包括步骤:
S1、获取待识别开发引擎的游戏应用的源文件夹;
S2、匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S3;
S3、匹配所述关键字配置中预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S4;
S4、判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则输出识别结果。
从上述描述可知,本发明的有益效果在于:通过获取待识别开发引擎的游戏应用的源文件夹,匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则匹配预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则判断是否存在还未用于匹配的关键字配置,若是,则获取下一个关键字配置进行匹配识别,若否,则输出结果,可以自动化、规则化地识别游戏引擎,不间断地进行识别,提高识别效率,识别经验和条件规则化,能够稳定提高识别准确率。
进一步的,所述步骤S1之前包括:
S11、接收基础配置和关键字配置,所述关键字配置包括或组关键字配置、与组关键字配置和优先级配置;
S12、通过所述基础配置下载游戏应用的APK文件,判断下载所述APK文件是否成功,若是,则将所述APK文件解压为源文件夹,并执行S1,若否,则执行S13;
S13、判断下载所述APK文件的尝试次数是否达到预设上限,若是,则停止下载,输出异常情况,若否,则返回S12。
由上述描述可知,使用者可以自由设置所述基础配置以确定待识别开发引擎的游戏应用,通过所述基础配置自动进行下载或输出异常情况,使用者还可以自行设置所述或组关键字和与组关键字,灵活度高,适用性广,极大地提高了识别游戏应用开发引擎的效率。
进一步的,所述步骤S2中匹配预设的或组关键字集合,判断是否命中具体为:
S21、遍历所述源文件夹下的所有文件;
S22、比对每一文件的文件名和所述或组关键字集合中的每一关键字,判断是否存在包含所述或组关键字集合中的任一个关键字的文件名,若是,则为命中,若否,则为未命中。
由上述描述可知,将所述源文件夹中每一文件的文件名与所述或组中的关键字进行比对,只要存在文件名包含所述或组中的任一关键字即为命中,通过特定的关键字组匹配游戏应用源文件夹下的文件名称来识别开发引擎,规则化识别过程,方便使用。
进一步的,所述步骤S3中匹配预设的与组关键字集合,判断是否命中具体为:
S31、将所述与组关键字集合中的每一个单个元素拆分为多个关键字;
S32、遍历所述源文件夹下的所有文件,比对每一文件的文件名和所述与组关键字集合中单个元素的每一关键字,判断所述与组关键字集合中是否存在单个元素的所有关键字可以分别被包含于不同的所述文件名中,若是,则为命中,若否,则为未命中。
由上述描述可知,只有当所述与组关键字集合中单个元素的每一个关键字都可以被包含于不同的文件名中时,才为命中,规则化地确保了识别游戏开发引擎的准确性,提高工作效率。
进一步的,还包括步骤:
根据预设过期时间,定期对过期的APK文件及源文件夹进行删除清理。
由上述描述可知,定期清理由下载解压产生的过期APK文件和源文件夹,确保不会过多的占用硬盘空间,所述过期时间可预设,提高灵活度和便利性。
请参照图2,一种识别安卓游戏应用开发引擎的终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取待识别开发引擎的游戏应用的源文件夹;
S2、匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S3;
S3、匹配所述关键字配置中预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S4;
S4、判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则输出识别结果。
从上述描述可知,本发明的有益效果在于:通过获取待识别开发引擎的游戏应用的源文件夹,匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则匹配预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则判断是否存在还未用于匹配的关键字配置,若是,则获取下一个关键字配置进行匹配识别,若否,则输出结果,可以自动化、规则化地识别游戏引擎,不间断地进行识别,提高识别效率,识别经验和条件规则化,能够稳定提高识别准确率。
进一步的,所述步骤S1之前包括:
S11、接收基础配置和关键字配置,所述关键字配置包括或组关键字配置、与组关键字配置和优先级配置;
S12、通过所述基础配置下载游戏应用的APK文件,判断下载所述APK文件是否成功,若是,则将所述APK文件解压为源文件夹,并执行S1,若否,则执行S13;
S13、判断下载所述APK文件的尝试次数是否达到预设上限,若是,则停止下载,输出异常情况,若否,则返回S12。
由上述描述可知,使用者可以自由设置所述基础配置以确定待识别开发引擎的游戏应用,通过所述基础配置自动进行下载或输出异常情况,使用者还可以自行设置所述或组关键字和与组关键字,灵活度高,适用性广,极大地提高了识别游戏应用开发引擎的效率。
进一步的,所述步骤S2中匹配预设的或组关键字集合,判断是否命中具体为:
S21、遍历所述源文件夹下的所有文件;
S22、比对每一文件的文件名和所述或组关键字集合中的每一关键字,判断是否存在包含所述或组关键字集合中的任一个关键字的文件名,若是,则为命中,若否,则为未命中。
由上述描述可知,将所述源文件夹中每一文件的文件名与所述或组中的关键字进行比对,只要存在文件名包含所述或组中的任一关键字即为命中,通过特定的关键字组匹配游戏应用源文件夹下的文件名称来识别开发引擎,规则化识别过程,方便使用。
进一步的,所述步骤S3中匹配预设的与组关键字集合,判断是否命中具体为:
S31、将所述与组关键字集合中的每一个单个元素拆分为多个关键字;
S32、遍历所述源文件夹下的所有文件,比对每一文件的文件名和所述与组关键字集合中单个元素的每一关键字,判断所述与组关键字集合中是否存在单个元素的所有关键字可以分别被包含于不同的所述文件名中,若是,则为命中,若否,则为未命中。
由上述描述可知,只有当所述与组关键字集合中单个元素的每一个关键字都可以被包含于不同的文件名中时,才为命中,规则化地确保了识别游戏开发引擎的准确性,提高工作效率。
进一步的,还包括步骤:
根据预设过期时间,定期对过期的APK文件及源文件夹进行删除清理。
由上述描述可知,定期清理由下载解压产生的过期APK文件和源文件夹,确保不会过多的占用硬盘空间,所述过期时间可预设,提高灵活度和便利性。
实施例一
请参照图1和图3,一种识别安卓游戏应用开发引擎的方法,包括步骤:
S11、接收基础配置和关键字配置,所述关键字配置包括或组关键字配置、与组关键字配置和优先级配置;
具体地,通过配置模块接收基础配置和关键字配置,使用者可以编辑配置文件进行配置以操控和调整识别规则;
其中,所述基础配置的可配置内容包括待识别开发引擎的游戏应用编号、存放路径、过期时间、可忽略文件名称、可忽略文件夹名称、获取数据列表及结果上报接口地址等;
所述关键字配置分为开发引擎配置和脚本语言配置,两者结构一致,使用者可配置多组引擎和脚本语言的关键字配置,所述关键字配置的可配置内容包括编号、名称、默认语言编号、默认语言名称、优先级、或组关键字集合和与组关键字集合;
其中,所述优先级配置为数字型,数值越高则优先级越高;
所述关键字可为文件名全称、部分名称和文件后缀名等,其中,所述或组关键字集合中的单个元素为单个关键字文本,多个元素间为或逻辑运算,故称为“或组”;与组关键字集合中的单个元素为多个关键字和分隔符组成的文本,元素内的各关键字互为与逻辑运算,多个元素间为或逻辑运算,故称为“与组”;可以支持18种主流开发引擎的配置及5种脚本语言的配置,并包含默认配置,从而将识别引擎的经验和条件规则化,并且可以通过不断升级配置达到提升准确率的目的;
所述关键字配置与所述基础配置可以不同步进行,所述关键字配置只要在匹配识别待识别游戏应用开始之前配置好即可。
S12、通过所述基础配置下载游戏应用的APK文件,判断下载所述APK文件是否成功,若是,则将所述APK文件解压为源文件夹,并执行S1,若否,则执行S13;
S13、判断下载所述APK文件的尝试次数是否达到预设上限,若是,则停止下载,输出异常情况,若否,则返回S12。
具体地,通过下载解压模块从互联网下载安卓游戏安装包APK文件并解压为源文件夹以便识别。首先,通过所述基础配置获取游戏应用APK文件的下载地址,所述游戏应用APK文件的下载地址可以是接口数据列表,也可以是单独的下载地址;接着,通过HTTP协议下载所述APK文件,若下载过程中发生异常导致下载中断,如网络波动等,则将再次尝试从上一次的下载进度继续下载;若尝试次数达到预设上限时所述APK文件仍未下载完整,则会停止对该APK文件的下载,并输出异常情况,继续处理下一个待识别开发引擎的游戏应用;最后,若所述APK文件下载成功,则参照解压ZIP压缩格式文件的方式解压所述APK文件为源文件夹,解压过程中若发生所述APK文件损坏等异常情况,则会停止对该APK文件的解压,并输出异常情况,继续处理下一个待识别开发引擎的游戏应用。
通过识别模块来识别游戏应用的开发引擎,特定的关键字组由所述配置模块提供,所述源文件夹由所述下载解压模块提供,识别开发引擎的步骤如下:
S1、获取待识别开发引擎的游戏应用的源文件夹;
S2、匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S3;
具体地,根据所述优先级配置的优先级先后顺序,获取当前优先级最高且未用于匹配的关键字配置中的所述或组关键字集合,将所述或组关键字集合和所述源文件夹下的各文件的文件名进行模糊匹配,判断是否命中,步骤如下:
S21、遍历所述源文件夹下的所有文件;
S22、比对每一文件的文件名和所述或组关键字集合中的每一关键字,判断是否存在包含所述或组关键字集合中的任一个关键字的文件名,若是,则为命中,若否,则为未命中。
例如,“UnityEngine.UI.dll”文件的文件名匹配所述或组关键字集合中的关键字“UnityEngine”,匹配任意一个所述或组集合中的关键字即可确认命中引擎,这时将直接输出识别结果,当前待识别开发引擎的游戏应用的识别流程结束;
若未命中则执行步骤S3,采用所述与组关键字集合继续匹配;
S3、匹配所述关键字配置中预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S4;
其中,所述匹配预设的与组关键字集合,判断是否命中具体为:
S31、将所述与组关键字集合中的每一个单个元素拆分为多个关键字;
具体地,将所述与组关键字集合中的单个元素通过分隔符拆分为多个关键字;
S32、遍历所述源文件夹下的所有文件,比对每一文件的文件名和所述与组关键字集合中单个元素的每一关键字,判断所述与组关键字集合中是否存在单个元素的所有关键字可以分别被包含于不同的所述文件名中,若是,则为命中,若否,则为未命中。
具体地,需同时匹配与组关键字集合中单个元素内的所有关键字,所述与组关键字集合中单个元素中所有关键字匹配到的文件名数量需要大于或等于所述单个元素中的关键字数量;允许一个文件名中包含多个关键字,但一个文件名只能与其包含的一个关键字匹配,当所述单个元素中的每一个关键字都能匹配到包含有该关键字的文件名且每个关键字匹配到的文件名可以各不相同时,才为命中引擎,否则为未命中。
例如,所述与组关键字集合为{"a&b&c","e&f&g"},其中&为分隔符:
当所述源文件夹的所有文件名为a123.jpg、b123.jpg和c123.jpg时,所述与组关键字集合中的元素"a&b&c"中的每一关键字都能匹配到一个包含有该关键字的文件名且每个关键字匹配到的文件名可以各不相同,此时为命中引擎;
当所述源文件夹的所有文件名为abc.jpg时,不能满足单个元素中所有关键字匹配到的文件名数量大于或等于所述单个元素中关键字数量的条件,也不能满足每个关键字匹配到的文件名各不相同的条件,此时为未命中;
当所述源文件夹的所有文件名为a.jpg和bc.jpg时,同样不能满足单个元素中所有关键字匹配到的文件名数量大于或等于所述单个元素中关键字数量的条件,也不能满足每个关键字匹配到的文件名各不相同的条件,此时为未命中;
当所述源文件夹的所有文件名为a.jpg、b.jpg和a123.jpg时,缺少了包含所述单个元素"a&b&c"中关键字c的对应文件名,此时为未命中;
当所述源文件夹的所有文件名为a.jpg、bc.jpg和a123.jpg时,由于关键字b和关键字c都匹配到文件名bc.jpg,没有一对一匹配,不能满足所述单个元素"a&b&c"中的每一关键字都能匹配到一个包含有该关键字的文件名且每个关键字匹配到的文件名可以各不相同这一要求,此时为未命中。
如果所述与组关键字集合命中引擎,则输出识别结果;如果所述或组关键字集合和所述与组关键字集合均未命中,则执行步骤S4。
S4、判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则输出识别结果。
具体地,若还存在未用于匹配的关键字配置,则返回步骤S2获取当前优先级最高且未用于匹配的关键字配置进行或组关键字的匹配,循环上述步骤流程;
若不存在未用于匹配的关键字配置,则说明所有的关键字配置皆未命中,则输出识别结果;
对于每一个待识别开发引擎的游戏应用,无论是否命中引擎,最后均输出识别结果,具体地,结合所述忽略文件夹和忽略文件等配置,将所述源文件夹目录结构JSON序列化与识别结果一并输出,作为后续核对结果和升级优化配置的重要数据。
输出当前游戏应用的开发引擎识别结果后,可进行下一个游戏应用的识别流程。
其中,通过结果输出模块实现日志输出、结果输出和异常上报等功能。日志输出,可以将运行情况及时间点输出到本地日志文件,按日期分类;结果输出,可以将识别结果输出记录至本地文件,若配置了上报接口地址,则同时根据所述上报接口地址将结果上报;异常上报,可以对运行过程中发生的异常和导致流程无法正常运转的错误进行本地记录和上报。
根据预设过期时间,定期对过期的APK文件及源文件夹进行删除清理。
具体地,通过文件清理模块定期清理由所述下载解压模块产生的过期APK安装包文件和源文件夹,确保不会过多的占用硬盘空间。每天定期对过期文件及文件夹进行删除清理并输出记录,所述过期时间可由使用者配置。当一个文件或文件夹已完成识别并超过过期时间,则会被清理。
实施例二
请参照图4,将实施例一所述的方法应用于识别游戏应用的脚本语言,本实施例与实施例一的不同在于:
步骤S11中的所述基础配置的可配置内容包括的是待识别脚本语言的游戏应用编号、存放路径、过期时间、可忽略文件名称、可忽略文件夹名称、获取数据列表及结果上报接口地址等;
步骤S12和S13中具体的过程中,若尝试次数达到预设上限时所述APK文件仍未下载完整,则会停止对该APK文件的下载,并输出异常情况,继续处理下一个待识别脚本语言的游戏应用;最后,若所述APK文件下载成功,则参照解压ZIP压缩格式文件的方式解压所述APK文件为源文件夹,解压过程中若发生所述APK文件损坏等异常情况,则会停止对该APK文件的解压,并输出异常情况,继续处理下一个待识别脚本语言的游戏应用。
通过识别模块来识别游戏应用的脚本语言,特定的关键字组由所述配置模块提供,所述源文件夹由所述下载解压模块提供,识别脚本语言的步骤如下:
S1、获取待识别脚本语言的游戏应用的源文件夹;
S2、匹配预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S3;
具体地,根据所述优先级配置的优先级先后顺序,获取当前优先级最高且未用于匹配的关键字配置中的所述或组关键字集合,将所述或组关键字集合和所述源文件夹下的各文件的文件名进行模糊匹配,判断是否命中,步骤如下:
S21、遍历所述源文件夹下的所有文件;
S22、比对每一文件的文件名和所述或组关键字集合中的每一关键字,判断是否存在包含所述或组关键字集合中的任一个关键字的文件名,若是,则为命中,若否,则为未命中。
成功匹配任意一个所述或组集合中的关键字即可确认命中脚本语言,这时将直接输出识别结果,当前待识别脚本语言的游戏应用的识别流程结束;
若未命中则执行步骤S3,采用所述与组关键字集合继续匹配;
S3、匹配所述关键字配置中预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S4;
其中,所述匹配预设的与组关键字集合,判断是否命中具体为:
S31、将所述与组关键字集合中的每一个单个元素拆分为多个关键字;
具体地,将所述与组关键字集合中的单个元素通过分隔符拆分为多个关键字;
S32、遍历所述源文件夹下的所有文件,比对每一文件的文件名和所述与组关键字集合中单个元素的每一关键字,判断所述与组关键字集合中是否存在单个元素的所有关键字可以分别被包含于不同的所述文件名中,若是,则为命中,若否,则为未命中。
具体地,需同时匹配与组关键字集合中单个元素内的所有关键字,所述与组关键字集合中单个元素中所有关键字匹配到的文件名数量需要大于或等于所述单个元素中的关键字数量;允许一个文件名中包含多个关键字,但一个文件名只能与其包含的一个关键字匹配,当所述单个元素中的每一个关键字都能匹配到包含有该关键字的文件名且每个关键字匹配到的文件名可以各不相同时,才为命中脚本语言,否则为未命中。
如果所述与组关键字集合命中脚本语言,则输出识别结果;如果所述或组关键字集合和所述与组关键字集合均未命中,则执行步骤S4。
S4、判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则输出识别结果。
具体地,若还存在未用于匹配的关键字配置,则返回步骤S2获取当前优先级最高且未用于匹配的关键字配置进行或组关键字的匹配,循环上述步骤流程;
若不存在未用于匹配的关键字配置,则说明所有的关键字配置皆未命中,则输出识别结果;
对于每一个待识别脚本语言的游戏应用,无论是否命中脚本语言,最后均输出识别结果,具体地,结合所述忽略文件夹和忽略文件等配置,将所述源文件夹目录结构JSON序列化与识别结果一并输出,作为后续核对结果和升级优化配置的重要数据。
输出当前游戏应用的脚本语言识别结果后,可进行下一个游戏应用的识别流程。
其中,通过结果输出模块实现日志输出、结果输出和异常上报等功能。日志输出,可以将运行情况及时间点输出到本地日志文件,按日期分类;结果输出,可以将识别结果输出记录至本地文件,若配置了上报接口地址,则同时根据所述上报接口地址将结果上报;异常上报,可以对运行过程中发生的异常和导致流程无法正常运转的错误进行本地记录和上报。
根据预设过期时间,定期对过期的APK文件及源文件夹进行删除清理。
具体地,通过文件清理模块定期清理由所述下载解压模块产生的过期APK安装包文件和源文件夹,确保不会过多的占用硬盘空间。每天定期对过期文件及文件夹进行删除清理并输出记录,所述过期时间可由使用者配置。当一个文件或文件夹已完成识别并超过过期时间,则会被清理。
实施例三
本实施例与实施例一的不同在于:
在实施例一中对于当前待识别开发引擎的游戏应用,判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则将当前待识别开发引擎的游戏应用转入实施例二中进行识别该游戏应用脚本语言的流程,即对该游戏应用先进行开发引擎的识别,再进行脚本语言的识别;最后,当该游戏应用的开发引擎和脚本语言均被识别完毕后,才结合所述忽略文件夹和所述忽略文件等配置,将所述源文件夹目录结构JSON序列化与识别结果一并输出,作为后续核对结果和升级优化配置的重要数据。
输出当前游戏应用开发引擎和脚本语言的识别结果后,可进行下一个游戏应用的识别流程。
实施例四
请参照图2,一种识别安卓游戏应用开发引擎的终端1,包括存储器2、处理器3及存储在存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一中的各个步骤。
综上所述,本发明提供的一种识别安卓游戏应用开发引擎的方法及终端,通过获取待识别开发引擎的游戏应用的源文件夹,匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则匹配预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则判断是否存在还未用于匹配的关键字配置,若是,则获取下一个关键字配置进行匹配识别,若否,则输出结果,可以自动化、规则化地识别游戏引擎,不间断地进行识别,提高识别效率,使用者可以自由设置所述基础配置以确定待识别开发引擎的游戏应用,还可以自行设置所述或组关键字和与组关键字,灵活度高,适用性广,极大地提高了识别游戏应用开发引擎的效率,识别经验和条件规则化,能够稳定提高识别准确率,定期自动清理由下载解压产生的过期APK文件和源文件夹,确保不会过多的占用硬盘空间,提高便利性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种识别安卓游戏应用开发引擎的方法,其特征在于,包括步骤:
S1、获取待识别开发引擎的游戏应用的源文件夹;
S2、匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S3;
S3、匹配所述关键字配置中预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S4;
S4、判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则输出识别结果;
所述步骤S3中匹配预设的与组关键字集合,判断是否命中具体为:
S31、将所述与组关键字集合中的每一个单个元素拆分为多个关键字;
S32、遍历所述源文件夹下的所有文件,比对每一文件的文件名和所述与组关键字集合中单个元素的每一关键字,所述与组关键字集合中单个元素中所有关键字匹配到的文件名数量大于或等于所述单个元素中的关键字数量,判断所述与组关键字集合中是否存在单个元素的所有关键字可以分别被包含于不同的所述文件名中,若是,则为命中,若否,则为未命中。
2.根据权利要求1所述的一种识别安卓游戏应用开发引擎的方法,其特征在于,所述步骤S1之前包括:
S11、接收基础配置和关键字配置,所述关键字配置包括或组关键字配置、与组关键字配置和优先级配置;
S12、通过所述基础配置下载游戏应用的APK文件,判断下载所述APK文件是否成功,若是,则将所述APK文件解压为源文件夹,并执行S1,若否,则执行S13;
S13、判断下载所述APK文件的尝试次数是否达到预设上限,若是,则停止下载,输出异常情况,若否,则返回S12。
3.根据权利要求1所述的一种识别安卓游戏应用开发引擎的方法,其特征在于,所述步骤S2中匹配预设的或组关键字集合,判断是否命中具体为:
S21、遍历所述源文件夹下的所有文件;
S22、比对每一文件的文件名和所述或组关键字集合中的每一关键字,判断是否存在包含所述或组关键字集合中的任一个关键字的文件名,若是,则为命中,若否,则为未命中。
4.根据权利要求1所述的一种识别安卓游戏应用开发引擎的方法,其特征在于,还包括步骤:
根据预设过期时间,定期对过期的APK文件及源文件夹进行删除清理。
5.一种识别安卓游戏应用开发引擎的终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取待识别开发引擎的游戏应用的源文件夹;
S2、匹配当前优先级最高且未用于匹配的关键字配置中预设的或组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S3;
S3、匹配所述关键字配置中预设的与组关键字集合,判断是否命中,若是,则输出识别结果,若否,则执行S4;
S4、判断是否存在还未用于匹配的关键字配置,若是,则返回S2,若否,则输出识别结果;
所述步骤S3中匹配预设的与组关键字集合,判断是否命中具体为:
S31、将所述与组关键字集合中的每一个单个元素拆分为多个关键字;
S32、遍历所述源文件夹下的所有文件,比对每一文件的文件名和所述与组关键字集合中单个元素的每一关键字,所述与组关键字集合中单个元素中所有关键字匹配到的文件名数量大于或等于所述单个元素中的关键字数量,判断所述与组关键字集合中是否存在单个元素的所有关键字可以分别被包含于不同的所述文件名中,若是,则为命中,若否,则为未命中。
6.根据权利要求5所述的一种识别安卓游戏应用开发引擎的终端,其特征在于,所述步骤S1之前包括:
S11、接收基础配置和关键字配置,所述关键字配置包括或组关键字配置、与组关键字配置和优先级配置;
S12、通过所述基础配置下载游戏应用的APK文件,判断下载所述APK文件是否成功,若是,则将所述APK文件解压为源文件夹,并执行S1,若否,则执行S13;
S13、判断下载所述APK文件的尝试次数是否达到预设上限,若是,则停止下载,输出异常情况,若否,则返回S12。
7.根据权利要求5所述的一种识别安卓游戏应用开发引擎的终端,其特征在于,所述步骤S2中匹配预设的或组关键字集合,判断是否命中具体为:
S21、遍历所述源文件夹下的所有文件;
S22、比对每一文件的文件名和所述或组关键字集合中的每一关键字,判断是否存在包含所述或组关键字集合中的任一个关键字的文件名,若是,则为命中,若否,则为未命中。
8.根据权利要求5所述的一种识别安卓游戏应用开发引擎的终端,其特征在于,还包括步骤:
根据预设过期时间,定期对过期的APK文件及源文件夹进行删除清理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811466279.7A CN109408051B (zh) | 2018-12-03 | 2018-12-03 | 一种识别安卓游戏应用开发引擎的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811466279.7A CN109408051B (zh) | 2018-12-03 | 2018-12-03 | 一种识别安卓游戏应用开发引擎的方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408051A CN109408051A (zh) | 2019-03-01 |
CN109408051B true CN109408051B (zh) | 2021-12-28 |
Family
ID=65457081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811466279.7A Active CN109408051B (zh) | 2018-12-03 | 2018-12-03 | 一种识别安卓游戏应用开发引擎的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408051B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1331076C (zh) * | 1999-12-15 | 2007-08-08 | 纳普斯特公司 | 实时搜索引擎 |
CN102754127A (zh) * | 2009-10-20 | 2012-10-24 | 奎基有限公司 | 基于关键字和字符串输入来汇编动画媒体的方法和系统 |
CN105447166A (zh) * | 2015-12-03 | 2016-03-30 | 沈文策 | 一种基于关键字查找信息的方法及系统 |
CN106294164A (zh) * | 2016-08-15 | 2017-01-04 | 中国银行股份有限公司 | 一种代码检查方法及装置 |
CN106293724A (zh) * | 2016-08-04 | 2017-01-04 | 北京白鹭时代信息技术有限公司 | 一种多游戏管理与版本控制方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110222107A1 (en) * | 2010-03-10 | 2011-09-15 | Williams David A | Methods and structure for improved jdf ticket processing in a printing system using automatically generated translation tables |
CN103810268B (zh) * | 2014-01-27 | 2017-04-12 | 北京奇虎科技有限公司 | 加载搜索结果推荐信息、网址检测的方法、装置和系统 |
US20170357927A1 (en) * | 2016-06-10 | 2017-12-14 | Accenture Global Solutions Limited | Process management for documentation-driven solution development and automated testing |
CN106598869A (zh) * | 2016-12-26 | 2017-04-26 | 北京京东金融科技控股有限公司 | 实现软件自动测试的方法、装置及电子设备 |
CN106874244B (zh) * | 2017-01-03 | 2022-05-20 | 宁波财经学院 | 一种基于工作序列的文档自动生成模型的构建方法 |
CN108446286B (zh) * | 2017-02-16 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 一种自然语言问句答案的生成方法、装置及服务器 |
CN108153522B (zh) * | 2017-12-25 | 2020-05-05 | 南京大学 | 基于模型转换由midcore生成Spark和Hadoop程序代码的方法 |
-
2018
- 2018-12-03 CN CN201811466279.7A patent/CN109408051B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1331076C (zh) * | 1999-12-15 | 2007-08-08 | 纳普斯特公司 | 实时搜索引擎 |
CN102754127A (zh) * | 2009-10-20 | 2012-10-24 | 奎基有限公司 | 基于关键字和字符串输入来汇编动画媒体的方法和系统 |
CN105447166A (zh) * | 2015-12-03 | 2016-03-30 | 沈文策 | 一种基于关键字查找信息的方法及系统 |
CN106293724A (zh) * | 2016-08-04 | 2017-01-04 | 北京白鹭时代信息技术有限公司 | 一种多游戏管理与版本控制方法及装置 |
CN106294164A (zh) * | 2016-08-15 | 2017-01-04 | 中国银行股份有限公司 | 一种代码检查方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109408051A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107343047B (zh) | 应用推广系统及方法 | |
CN106547527B (zh) | 一种JavaScript文件构建方法及装置 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN110069739B (zh) | 页面预加载方法及装置 | |
CN111190583B (zh) | 关联冲突块呈现方法和设备 | |
CN110580189A (zh) | 生成前端页面的方法、装置、计算机设备以及存储介质 | |
CN107426041B (zh) | 一种解析命令的方法和装置 | |
CN112948026A (zh) | 热点代码处理方法、装置、服务器、电子设备及存储介质 | |
CN108536489B (zh) | 匹配资源环境的方法、装置和计算机可读存储介质 | |
CN112099800A (zh) | 代码数据的处理方法、装置和服务器 | |
US20160239510A1 (en) | Method for Extracting Useful Content from Setup Files of Mobile Applications | |
CN112667426A (zh) | 日志分析方法及装置 | |
CN104679900A (zh) | 一种应用程序搜索方法及装置 | |
CN110888756A (zh) | 一种诊断日志生成方法及装置 | |
CN110046100B (zh) | 一种分组测试的方法、电子设备及介质 | |
CN110580255A (zh) | 一种存储并检索数据的方法以及系统 | |
CN109408471B (zh) | 一种基于匹配树的压缩包解压方法、装置及存储介质 | |
CN115185998A (zh) | 目标字段查找方法及装置、服务器、计算机可读存储介质 | |
CN114816816A (zh) | 崩溃堆栈信息处理方法、装置、设备及存储介质 | |
CN110609924A (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN107590233B (zh) | 一种文件管理方法及装置 | |
CN109408051B (zh) | 一种识别安卓游戏应用开发引擎的方法及终端 | |
WO2021072776A1 (zh) | 数据合并方法、装置、电子设备及存储介质 | |
CN110471764A (zh) | 一种内存清理的处理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |