CN108399084B - 一种应用程序的运行方法及系统 - Google Patents

一种应用程序的运行方法及系统 Download PDF

Info

Publication number
CN108399084B
CN108399084B CN201710069085.2A CN201710069085A CN108399084B CN 108399084 B CN108399084 B CN 108399084B CN 201710069085 A CN201710069085 A CN 201710069085A CN 108399084 B CN108399084 B CN 108399084B
Authority
CN
China
Prior art keywords
application program
parameters
function
parameter
mono
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
Application number
CN201710069085.2A
Other languages
English (en)
Other versions
CN108399084A (zh
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.)
Changsuo Software Technology Shanghai Co ltd
ThunderSoft Co Ltd
Original Assignee
Quarkdata Software Co 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 Quarkdata Software Co ltd filed Critical Quarkdata Software Co ltd
Priority to CN201710069085.2A priority Critical patent/CN108399084B/zh
Publication of CN108399084A publication Critical patent/CN108399084A/zh
Application granted granted Critical
Publication of CN108399084B publication Critical patent/CN108399084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用程序的运行方法,当接收到应用程序的启动指令时,拦截所述应用程序传递的函数集,获取所述函数集中的设定参数,按照预先设定的更新方式,将获取的所述设定参数进行更新,获得与用户需求相匹配的目标参数,得到目标函数集,将所述目标函数集发送给MONO解析器,以使所述MONO解析器对所述函数集进行解析,并进行编译,驱动所述应用程序在当前运行平台上按所述目标参数进行运行,完成了所述数应用程序中参数的更改,解决了现有技术中,应用程序在不同平台和不同操作系统之间应用,在没有所述应用程序源代码的情况下,只能按所述应用程序原有参数执行,不能进行调整操作,无法修改应用程序代码中的参数的问题。

Description

一种应用程序的运行方法及系统
技术领域
本发明涉及应用程序领域,尤其涉及一种应用程序的运行方法和系统。
背景技术
当今,各种应用程的产生满足了人们生活和工作方方面面的需要,但通常情况下,所述应用程序通常是针对某一具体的操作系统开发的,不具有兼容性,不能满足当今不同终端平台和不同操作系统的需要。
目前,为了实现应用程序的不同终端平台和不同操作系统中的应用,通常利用诸如MONO解析器之类的编译软件,实现所述应用程序的通用,即便是应用在同一操作系统的不同终端上,由于终端参数的不同,应用程序的运行效果也会存在差异,但所述应用程序的执行过程是封闭的,在没有所述应用程序源代码的情况下,只能依据所述应用程序原有的参数执行,不能实现相关的调整操作,无法修改应用程序代码中的参数。
发明内容
有鉴于此,本发明提供一种应用程序运行方法及系统,解决了现有技术中应用程序在不同平台和不同操作系统之间应用,所述应用程序参数无法修改的问题。其具体方案如下:
一种应用程序的运行方法,包括:
当检测到应用程序启动时,拦截所述应用程序向MONO解析器传递的函数集;
获取所述函数集中的设定参数;
按预设的更新方式,将所述设定参数更新为与用户的需求相匹配的目标参数;
将所述函数集发送至MONO解析器,以使所述MONO解析器对所述函数集进行解析,驱动所述应用程序在当前运行平台上按所述目标参数进行运行。
上述的方法,优选的,所述获取所述函数集中的设定参数包括:
调用与所述应用程序相对应的预设的类函数;
依据所述类函数获得所述应用程序中的调用函数表;
在所述调用函数表中查找所述函数集中的设定参数。
上述的方法,优选的,所述按预设的更新方法,将所述函数集中的设定参数更新为与用户的需求相匹配的目标参数,包括:
将所述设定参数与当前运行平台中的运行参数进行比较,确定比较结果;
判断所述比较结果是否在预设的阈值范围内;
当不在所述预设的阈值范围内时,将所述设定参数修改为与用户的需求相匹配的目标参数。
上述的方法,优选的,所述按预设的更新方法,将所述函数集中的设定参数更新为与用户的需求相匹配的目标参数,包括:
接收用户的需求指令,并确定与所述需求指令相对应的第一参数;
将所述第一参数增加到所述函数集中,与所述设定参数进行绑定,获得与用户的需求相匹配的目标参数。
上述的方法,优选的,所述将所述函数集发送至MONO解析器包括:
调用已存储的环境变量,通过所述环境变量与所述MONO解析器建立连接关系;
依据所述连接关系,将所述函数集发送至所述MONO解析器。
一种应用程序的运行系统,包括:
拦截单元,用于当检测到应用程序启动时,拦截所述应用程序向MONO解析器传递的函数集;
获取单元,用于获取所述函数集中的设定参数;
更新单元,用于按预设的更新方式,将所述设定参数更新为与用户的需求相匹配的目标参数;
解析单元,用于将所述函数集发送至MONO解析器,以使所述MONO解析器对所述函数集进行解析,驱动所述应用程序在当前运行平台上按所述目标参数进行运行。
上述的系统,优选的,所述获取单元包括:
调用子单元,用于调用与所述应用程序相对应的预设的类函数;
获取子单元,用于依据所述类函数获得所述应用程序中的调用函数表;
查找子单元,用于在所述调用函数表中查找所述函数集中的设定参数。
上述的系统,优选的,所述更新单元包括:
比较子单元,用于将所述设定参数与当前运行平台中的运行参数进行比较,确定比较结果;
判断子单元,用于判断所述比较结果是否在预设的阈值范围内;
修改子单元,用于当不在所述预设的阈值范围内时,将所述设定参数修改为与用户的需求相匹配的目标参数。
上述的系统,优选的,所述更新单元包括:
接收子单元,用于接收用户的需求指令,并确定与所述需求指令相对应的第一参数;
绑定子单元,用于将所述第一参数增加到所述函数集中,与所述设定参数进行绑定,获得与用户的需求相匹配的目标参数。
上述的系统,优选的,所述解析单元包括:
调用子单元,用于调用已存储的环境变量,通过所述环境变量与所述MONO解析器建立连接关系;
发送子单元,用于依据所述连接关系,将所述函数集发送至所述MONO解析器。
本发明公开了一种应用程序的运行方法,当接收到应用程序的启动指令时,拦截所述应用程序传递的函数集,获取所述函数集中的设定参数,按照预先设定的更新方式,将获取的所述设定参数进行更新,获得与用户需求相匹配的目标参数,得到目标函数集,将所述目标函数集发送给MONO解析器,以使所述MONO解析器对所述函数集进行解析,并进行编译,驱动所述应用程序在当前运行平台上按所述目标参数进行运行,完成了对多数应用程序中参数的更改,解决了现有技术中,所述应用程序在没有源代码的情况下,只能依据原有函数集的参数运行的问题,实现了对所述应用程序代码参数的更改。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1公开的一种应用程序运行方法的流程图;
图2为本发明实施例2公开的一种应用程序运行方法的又一流程图;
图3为本发明实施例3公开的一种应用程序运行方法的又一流程图;
图4为本发明实施例4公开的一种应用程序运行方法的又一流程图;
图5为本发明实施例5公开的一种应用程序运行方法的又一流程图;
图6为本发明实施例6公开的一种应用程序运行系统的结构框图;
图7为本发明实施例7公开的一种应用程序运行系统的又一结构框图;
图8为本发明实施例8公开的一种应用程序运行系统的又一结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种应用程序的运行方法,应用于WRAP模块,所述WRAP模块是一个具有传输和编辑处理的功能的应用模块,完成对所述应用程序传递的函数集的获取、更改和传输,应用于所述应用程序与MONO解析器之间,所述应用程序可以为游戏软件、聊天软件、工具软件和播放软件等所有基于程序软件编写的应用程序,所述WRAP模块具体的处理方法流程图如图1所示,包括步骤:
S101、当检测到应用程序启动时,拦截所述应用程序向MONO解析器传递的函数集;
本发明实施例中,当接收到所述应用程序的启动指令时,拦截所述应用程序传递的函数集,所述函数集中的函数可以为方法函数也可以为类函数。所述启动指令通过点击或者调用应用程序产生。
S102、获取所述函数集中的设定参数;
本发明实施例中,当拦截到所述函数集时,通过所述函数获取所述函数集中需要更改的设定参数,所述设定参数指在所述应用程序执行过程中需要调用的参数,对所述设定参数的更改,会改变应用程序的执行效果。
S103、按预设的更新方式,将所述设定参数更新为与用户的需求相匹配的目标参数;
本发明实施例中,将获取到的所述函数集中的设定参数,按预设的更新方式进行更新,得到与用户需求相匹配的目标参数,所述与用户需求相匹配需要同时满足用户设定的指定参数要求和平台设备对参数的要求两个条件。
S104、将所述函数集发送至MONO解析器,以使所述MONO解析器对所述函数集进行解析,驱动所述应用程序在当前运行平台上按所述目标参数进行运行。
本发明实施例中,通过目标参数对所述函数集进行更新,将更新后的所述函数集发送给MONO解析器,以使MONO解析器对更新后的所述函数集进行编译,编译成为按所述目标参数运行的应用程序的可执行文件,驱动所述应用程序的可执行文件运行在当前平台上。
本发明公开了一种应用程序的运行方法,当接收到应用程序的启动指令时,拦截所述应用程序传递的函数集,获取所述函数集中的设定参数,按照预先设定的更新方式,将获取的所述设定参数进行更新,获得与用户需求相匹配的目标参数,得到目标函数集,将所述目标函数集发送给MONO解析器,以使所述MONO解析器对所述函数集进行解析,并进行编译,驱动所述应用程序在当前运行平台上按所述目标参数进行运行,完成了对多数应用程序中参数的更改,解决了现有技术中,所述应用程序在没有源代码的情况下,只能依据原有函数集的参数运行的问题,实现了对所述应用程序代码参数的更改。
本发明实施例中,当检测到应用程序启动时,拦截所述应用程序向MONO解析器传递的函数集,所述函数集指完成所述应用程序运行的所有函数的集合,至少存在一个函数,当所述应用程序运行时,会不断的向MONO解析器发送所述应用程序在运行过程中产生的并且需要传递的函数,但所述应用程序每次只能传递一个函数,拦截所述应用程序在运行过程中传递的所有函数,并进行保存,当传递完成时,所有拦截的函数的总和,就构成了所述应用程序的函数集。
本发明实施例中,获取所述函数集中的设定参数的具体方法如图2所述,包括步骤:
S201、调用与所述应用程序相对应的预设的类函数;
本发明实施例中,在拦截到所述应用程序在运行过程中传递的函数集后,区分所述函数集中函数的类型,包括:方法函数和类函数两种,若为方法函数则调用wrap_invoke函数,若为类函数则调用wrap_override函数。
S202、依据所述类函数获得所述应用程序中的调用函数表;
本发明实施例中,通过调用wrap_invoke函数和wrap_override函数与所述应用程序建立连接,获取所述应用程序中的调用函数表,所述调用函数符号表中包含所述函数集中的所有函数的设定参数。
S203、在所述调用函数表中查找所述函数集中的设定参数。
本发明实施例中,依据用户需求或者运行平台设备的的配置要求,在所述调用函数符号表中查找所述函数中的需要更新的设定参数。
本发明实施例中,所述获取所述函数集中设定参数的过程中,所述设定参数包含所述函数集中的所有参数,但并不需要对所述函数集中所有的设定参数进行更新,依据具体的情况选择要更新的设定参数的类别。
本发明实施例中,当获取到所述函数集中的设定参数后,依据预设的更新方式将所述函数集中的设定参数更新为与用户的需求向匹配的目标参数具体的操作方法如图3所示,优选的方案,包括步骤:
S301、将所述设定参数与当前运行平台中的运行参数进行比较,确定比较结果;
本发明实施例中,将得到的所述设定参数与已经获取的当前运行平台中的期望参数依次比较,并保存比较结果。
S302、判断所述比较结果是否在预设的阈值范围内;
本发明实施例中,将保存的比较结果与预设的阈值范围进行比较,所述预设的阈值范围依据运行平台要求的不同取值范围也不同,具体的设置原则以可以满足当前运行平台的参数配置要求和用户需求为前提,判断所述比较结果是否在预设的阈值范围内。
S303、当不在所述预设的阈值范围内时,将所述设定参数修改为与用户的需求相匹配的目标参数。
本发明实施例中,当比较结果不在所述预设的阈值范围内时,调整所述函数集中的预设参数,所述调整方式为将所述设定参数值依据平台的参数配置要求用户需求为进行调大或者调小,主要是对具体参数值的修改,最终目标为,将所述设定参数修改为与用户的需求相匹配的目标参数,确保其落在预设的阈值范围内。
与图3所示方法对应的具体实施例为:当所述应用程序应用于第一终端时,可以进行正常的输出和显示,但将同样的应用程序应用于第二终端时,由于终端平台参数的不同,显示输出就会出现问题,需要我们在所述应用程序传递函数集时进行拦截,获取所述函数集中的设定参数,将所述第二终端的参数与所述设定参数进行比较,若所述比较结果不在所述第二终端平台的阈值范围内时,依次修改所述设定参数,得到目标参数,保证所有的比较结果在预设的阈值范围内,将目标函数集发送到MONO解析器中,以使所述MONO解析器对所述目标函数集进行解析,驱动所述应用程序在当前运行平台上按所述目标参数进行运行。
本发明实施例中,只针对相同系统和不同平台进行了举例,不同操作系统和相同平台或者不同平台和不同操作系统中的处理方式相同。
本发明实施例中,当获取到所述函数集中的设定参数后,依据预设的更新方式将所述函数集中的设定参数更新为与用户的需求向匹配的目标参数具体的操作方法如图4所示,优选的方案,包括步骤:
S401、接收用户的需求指令,并确定与所述需求指令相对应的第一参数;
本发明实施例中,若通过更新所述函数集中的设定参数不能满足用户需求时,用户会发送需求指令,所述需求指令是根据用户和平台的需求生成需求指令并进行传递,当接收到用户的需求指令时,依据所述需求指令,生成可以满足所述需求指令的第一参数,所述第一参数可以为一个参数也可以代表一个参数集合。
S402、将所述第一参数增加到所述函数集中,与所述设定参数进行绑定,获得与用户的需求相匹配的目标参数。
本发明实施例中,将所述第一参数增加到所述函数集中,所述增加方式可以为在所述函数集中增加第一参数,将所述第一参数与所述函数集中更新的设定参数进行绑定,获得与用户的需求相匹配的目标参数;也可以通过对所述第一参数编写新的包含所述第一参数变量的函数,与所述函数集中的已经更新的参数所组成的函数进行绑定,获得与用户的需求相匹配的目标参数,两种方式只是实现手段的不同,最终都是为了得到目标参数。
与图4所示方法对应的具体实施例为:若应用程序在第一终端可以实现A功能,用户希望所述应用程序不但可以实现A功能还可以实现B功能,需要我们在所述应用程序传递函数集时进行拦截,获取所述函数集中的参数,依据实现B功能的需求,生成所述B功能需求指令,依据所述B功能的需求指令,产生可以实现所述B功能的第一参数,将所述第一参数增加到所述函数集中,与所述函数集中的设定参数进行绑定,获得与用户的需求相匹配的目标参数,将目标函数集发送到MONO解析器中,以使所述MONO解析器对所述目标函数集进行解析,驱动所述应用程序在当前运行平台上按所述目标参数进行运行,所述当前运行平台可以为第一终端,也可以为其他任意终端。
本发明实施例中,只针对相同系统和不同平台进行了举例,不同操作系统和相同平台或者不同平台和不同操作系统中的处理方式相同。
本发明实施例中还包含如下情况,当拦截到所述用用程序传递过来函数集时,获取了函数集中的设定参数时发现,所述函数集并不是当前运行平台需要的或者当前运行平台与所述函数集不匹配时,直接对所述函数集进行拦截,进行舍弃处理,不会进行到向MONO解析器传递所述函数集的环节。
本发明实施例中还包含如下情况,当拦截到所述用用程序传递过来函数集时,获取了函数集中的设定参数时发现,所述函数集中的设定参数中的一个或者几个,并不是当前运行平台需要的,直接删除不需要的参数,将所述删除后的参数传递给MONO解析器。
本发明实施例中还包含如下情况,当拦截到所述用用程序传递过来函数集时,获取了函数集中的设定参数时发现,所述函数集需要反复调用所述应用程序中的指定函数,需要将所述函数集传递回所述应用程序,通过mono_class_get_property_from_name函数获取相关属性,执行所述指定函数,当调用结束时,在进行所述函数集的传递。
本发明实施例中还包含如下情况,当拦截到所述用用程序传递过来函数集时,获取了函数集中的设定参数时发现,所述函数集中函数的逻辑关系不能满足当前运行平台的要求,需要编写与所述函数集名称相同的新的函数,对所述函数集的整体进行替换。
本发明实施例中,上述三种情况也只针对相同系统和不同平台进行了举例,不同操作系统和相同平台或者不同平台和不同操作系统中的处理方式相同。
本发明实施例中,将所述函数集发送至MONO解析器如图5所示,包括步骤:
S501、调用已存储的环境变量,通过所述环境变量与所述MONO解析器建立连接关系;
本发明实施例中,所述已存储的环境变量指LD_PRLOAD环境变量,通过LD_PRLOAD与所述MONO解析器建立连接,所述LD_PRLOAD环境变量用以指定预先装载的一些共享库或目标文件,且无论程序是否依赖这些共享库或者文件,LD_PRELOAD指定的这些文件都会被装载,依据所述应用程序传递函数集的具体情况,选择是否需要调用所述共享库或者文件。
S502、依据所述连接关系,将所述函数集发送至所述MONO解析器。
本发明实施例中,当与所述MONO解析器建立连接后,分别通过wrap_invoke函数和wrap_override函数与MONO解析器中的mono_runtime_invoke函数和mono_file_map_override函数建立连接,将所述函数集发送至所述MONO解析器,所述mono_runtime_invoke函数和mono_file_map_override函数与所述wrap_invoke函数和wrap_override函数相对应,分别为方法函数与类函数的获取,只是基于的平台不同。
与图1所述的一种应用程序运行方法相对应的,本发明实施例还提供了一种应用程序运行系统,其结构示意图如图6所示,包括:
拦截单元601,获取单元602,更新单元603,解析单元604。
其中:
所述拦截单元601,用于当检测到应用程序启动时,拦截所述应用程序向MONO解析器传递的函数集;
所述获取单元602,用于获取所述函数集中的设定参数;
所述更新单元603,用于按预设的更新方式,将所述设定参数更新为与用户的需求相匹配的目标参数;
所述解析单元604,用于将所述函数集发送至MONO解析器,以使所述MONO解析器对所述函数集进行解析,驱动所述应用程序在当前运行平台上按所述目标参数进行运行。
本发明公开了一种应用程序的运行系统,当接收到应用程序的启动指令时,拦截所述应用程序传递的函数集,获取所述函数集中的设定参数,按照预先设定的更新方式,将获取的所述设定参数进行更新,获得与用户需求相匹配的目标参数,得到目标函数集,将所述目标函数集发送给MONO解析器,以使所述MONO解析器对所述函数集进行解析,并进行编译,驱动所述应用程序在当前运行平台上按所述目标参数进行运行,完成了对多数应用程序中参数的更改,解决了现有技术中,应用程序在不同平台和不同操作系统之间应用,在没有所述应用程序源代码的情况下,只能按所述应用程序原有参数执行,不能进行调整操作,无法修改应用程序代码中的参数的问题。
在图6的基础上,参考图7,图7示出了本发明实施例提供的系统的又一结构框图,所述获取单元602,包括:
调用子单元605,获取子单元606和查找子单元607.
其中:
所述调用子单元605,用于调用与所述应用程序相对应的预设的类函数;
所述获取子单元606,用于依据所述类函数获得所述应用程序中的调用函数表;
所述查找子单元607,用于在所述调用函数表中查找所述函数集中的设定参数。
在图6的基础上,参考图7,图7示出了本发明实施例提供的系统的又一结构框图,所述获取单元602,包括:
比较子单元608,判断子单元609和修改子单元610。
其中:
所述比较子单元608,用于将所述设定参数与当前运行平台中的运行参数进行比较,确定比较结果;
所述判断子单元609,用于判断所述比较结果是否在预设的阈值范围内;
所述修改子单元610,用于当不在所述预设的阈值范围内时,将所述设定参数修改为与用户的需求相匹配的目标参数。
在图7的基础上,参考图8,图8示出了本发明实施例提供的系统的又一结构框图,所述更新单元603,包括:
接收子单元611和绑定子单元612.
其中:
所述接收子单元611,用于接收用户的需求指令,并确定与所述需求指令相对应的第一参数;
所述绑定子单元612,用于将所述第一参数增加到所述函数集中,与所述设定参数进行绑定,获得与用户的需求相匹配的目标参数。
在图7的基础上,参考图8,图8示出了本发明实施例提供的系统的又一结构框图,所述解析单元604,包括:
调用子单元613和发送子单元614.
其中:
所述调用子单元613,用于调用已存储的环境变量,通过所述环境变量与所述MONO解析器建立连接关系;
所述发送子单元614,用于依据所述连接关系,将所述函数集发送至所述MONO解析器。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种应用程序的运行方法,其特征在于,所述方法包括:
当检测到应用程序启动时,拦截所述应用程序向MONO解析器传递的函数集;
获取所述函数集中的设定参数;
按预设的更新方式,将所述设定参数更新为与用户的需求相匹配的目标参数;
将所述函数集发送至MONO解析器,以使所述MONO解析器对所述函数集进行解析,驱动所述应用程序在当前运行平台上按所述目标参数进行运行;
其中,所述获取所述函数集中的设定参数包括:调用与所述应用程序相对应的预设的类函数;依据所述类函数获得所述应用程序中的调用函数表;在所述调用函数表中查找所述函数集中的设定参数;
所述按预设的更新方法,将所述函数集中的设定参数更新为与用户的需求相匹配的目标参数,包括:将所述设定参数与当前运行平台中的运行参数进行比较,确定比较结果;判断所述比较结果是否在预设的阈值范围内;当不在所述预设的阈值范围内时,将所述设定参数修改为与用户的需求相匹配的目标参数;
或,所述按预设的更新方法,将所述函数集中的设定参数更新为与用户的需求相匹配的目标参数,包括:接收用户的需求指令,并确定与所述需求指令相对应的第一参数;将所述第一参数增加到所述函数集中,与所述设定参数进行绑定,获得与用户的需求相匹配的目标参数。
2.根据权利要求1所述的方法,其特征在于,所述将所述函数集发送至MONO解析器包括:
调用已存储的环境变量,通过所述环境变量与所述MONO解析器建立连接关系;
依据所述连接关系,将所述函数集发送至所述MONO解析器。
3.一种应用程序的运行系统,其特征在于,所述系统包括:
拦截单元,用于当检测到应用程序启动时,拦截所述应用程序向MONO解析器传递的函数集;
获取单元,用于获取所述函数集中的设定参数;
更新单元,用于按预设的更新方式,将所述设定参数更新为与用户的需求相匹配的目标参数;
解析单元,用于将所述函数集发送至MONO解析器,以使所述MONO解析器对所述函数集进行解析,驱动所述应用程序在当前运行平台上按所述目标参数进行运行;
其中,所述获取单元包括:
调用子单元,用于调用与所述应用程序相对应的预设的类函数;
获取子单元,用于依据所述类函数获得所述应用程序中的调用函数表;
查找子单元,用于在所述调用函数表中查找所述函数集中的设定参数;
所述更新单元包括:
比较子单元,用于将所述设定参数与当前运行平台中的运行参数进行比较,确定比较结果;
判断子单元,用于判断所述比较结果是否在预设的阈值范围内;
修改子单元,用于当不在所述预设的阈值范围内时,将所述设定参数修改为与用户的需求相匹配的目标参数;
或,所述更新单元包括:
接收子单元,用于接收用户的需求指令,并确定与所述需求指令相对应的第一参数;
绑定子单元,用于将所述第一参数增加到所述函数集中,与所述设定参数进行绑定,获得与用户的需求相匹配的目标参数。
4.根据权利要求3所述系统,其特征在于,所述解析单元包括:
调用子单元,用于调用已存储的环境变量,通过所述环境变量与所述MONO解析器建立连接关系;
发送子单元,用于依据所述连接关系,将所述函数集发送至所述MONO解析器。
CN201710069085.2A 2017-02-08 2017-02-08 一种应用程序的运行方法及系统 Active CN108399084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710069085.2A CN108399084B (zh) 2017-02-08 2017-02-08 一种应用程序的运行方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710069085.2A CN108399084B (zh) 2017-02-08 2017-02-08 一种应用程序的运行方法及系统

Publications (2)

Publication Number Publication Date
CN108399084A CN108399084A (zh) 2018-08-14
CN108399084B true CN108399084B (zh) 2021-02-12

Family

ID=63093536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710069085.2A Active CN108399084B (zh) 2017-02-08 2017-02-08 一种应用程序的运行方法及系统

Country Status (1)

Country Link
CN (1) CN108399084B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308241B (zh) * 2018-09-05 2020-11-24 腾讯科技(深圳)有限公司 监听应用程序启动流程方法、装置、终端设备和存储介质
CN110378084B (zh) * 2019-07-22 2021-06-08 北京顶象技术有限公司 应用程序保护方法、装置、计算机设备及存储介质

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625287A (en) * 1982-10-19 1986-11-25 Tokyo Shibaura Denki Kabushiki Kaisha Monosyllable recognition apparatus
CN1896992A (zh) * 2006-06-15 2007-01-17 Ut斯达康通讯有限公司 基于应用定制解析xml文档的方法及装置
CN101271400A (zh) * 2008-04-30 2008-09-24 北京中星微电子有限公司 一种计算机命令行参数的处理方法和装置
CN101364175A (zh) * 2008-07-02 2009-02-11 深圳国人通信有限公司 嵌入式系统的配置方法及装置
CN102073496A (zh) * 2010-12-29 2011-05-25 浙大网新科技股份有限公司 对调用dll导出函数进行拦截跟踪的方法
CN102314364A (zh) * 2011-08-08 2012-01-11 北京登合科技有限公司 一种自动适配移动终端的方法
CN102508660A (zh) * 2011-10-26 2012-06-20 青岛海信宽带多媒体技术有限公司 可执行文件的生成方法及生成装置
CN102929716A (zh) * 2012-11-07 2013-02-13 北京亿赛通科技发展有限责任公司 一种启动多进程的方法
CN103019742A (zh) * 2012-12-31 2013-04-03 清华大学 一种多dsp平台上的自动代码生成方法
CN103152515A (zh) * 2012-07-13 2013-06-12 成都东方盛行电子有限责任公司 泛编辑平台
CN103481781A (zh) * 2013-09-29 2014-01-01 上海德科电子仪表有限公司 汽车仪表的显示系统及方法
CN103927193A (zh) * 2013-01-15 2014-07-16 中兴通讯股份有限公司 Java应用程序函数迁移运行时的加载方法、服务端虚拟机
CN104735030A (zh) * 2013-12-23 2015-06-24 广州华多网络科技有限公司 应用开启方法、装置和系统
CN104809397A (zh) * 2015-05-12 2015-07-29 上海斐讯数据通信技术有限公司 一种基于动态监控的Android恶意软件的检测方法及系统
CN104991763A (zh) * 2015-06-04 2015-10-21 珠海金山网络游戏科技有限公司 一种通用的游戏界面行为控制系统
CN105068798A (zh) * 2015-07-28 2015-11-18 珠海金山网络游戏科技有限公司 一种基于Fmod控制游戏音量、音效的系统和方法
CN105335205A (zh) * 2015-10-14 2016-02-17 深圳信息职业技术学院 一种虚拟仪器脚本语言解析器及其方法
CN105426777A (zh) * 2015-11-17 2016-03-23 中科创达软件股份有限公司 一种动态链接库文件加密、解密方法及装置
CN106066803A (zh) * 2016-05-25 2016-11-02 北京奇虎科技有限公司 应用程序运行控制的方法及装置
CN106203115A (zh) * 2016-07-11 2016-12-07 北京金山安全软件有限公司 一种应用程序的防护方法、装置及电子设备
CN106203096A (zh) * 2016-07-13 2016-12-07 北京金山安全软件有限公司 一种应用程序识别处理方法以及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452722B1 (ko) * 2008-02-19 2014-10-23 삼성전자주식회사 신호 부호화 및 복호화 방법 및 장치

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625287A (en) * 1982-10-19 1986-11-25 Tokyo Shibaura Denki Kabushiki Kaisha Monosyllable recognition apparatus
CN1896992A (zh) * 2006-06-15 2007-01-17 Ut斯达康通讯有限公司 基于应用定制解析xml文档的方法及装置
CN101271400A (zh) * 2008-04-30 2008-09-24 北京中星微电子有限公司 一种计算机命令行参数的处理方法和装置
CN101364175A (zh) * 2008-07-02 2009-02-11 深圳国人通信有限公司 嵌入式系统的配置方法及装置
CN102073496A (zh) * 2010-12-29 2011-05-25 浙大网新科技股份有限公司 对调用dll导出函数进行拦截跟踪的方法
CN102314364A (zh) * 2011-08-08 2012-01-11 北京登合科技有限公司 一种自动适配移动终端的方法
CN102508660A (zh) * 2011-10-26 2012-06-20 青岛海信宽带多媒体技术有限公司 可执行文件的生成方法及生成装置
CN103152515A (zh) * 2012-07-13 2013-06-12 成都东方盛行电子有限责任公司 泛编辑平台
CN102929716A (zh) * 2012-11-07 2013-02-13 北京亿赛通科技发展有限责任公司 一种启动多进程的方法
CN103019742A (zh) * 2012-12-31 2013-04-03 清华大学 一种多dsp平台上的自动代码生成方法
CN103927193A (zh) * 2013-01-15 2014-07-16 中兴通讯股份有限公司 Java应用程序函数迁移运行时的加载方法、服务端虚拟机
CN103481781A (zh) * 2013-09-29 2014-01-01 上海德科电子仪表有限公司 汽车仪表的显示系统及方法
CN104735030A (zh) * 2013-12-23 2015-06-24 广州华多网络科技有限公司 应用开启方法、装置和系统
CN104809397A (zh) * 2015-05-12 2015-07-29 上海斐讯数据通信技术有限公司 一种基于动态监控的Android恶意软件的检测方法及系统
CN104991763A (zh) * 2015-06-04 2015-10-21 珠海金山网络游戏科技有限公司 一种通用的游戏界面行为控制系统
CN105068798A (zh) * 2015-07-28 2015-11-18 珠海金山网络游戏科技有限公司 一种基于Fmod控制游戏音量、音效的系统和方法
CN105335205A (zh) * 2015-10-14 2016-02-17 深圳信息职业技术学院 一种虚拟仪器脚本语言解析器及其方法
CN105426777A (zh) * 2015-11-17 2016-03-23 中科创达软件股份有限公司 一种动态链接库文件加密、解密方法及装置
CN106066803A (zh) * 2016-05-25 2016-11-02 北京奇虎科技有限公司 应用程序运行控制的方法及装置
CN106203115A (zh) * 2016-07-11 2016-12-07 北京金山安全软件有限公司 一种应用程序的防护方法、装置及电子设备
CN106203096A (zh) * 2016-07-13 2016-12-07 北京金山安全软件有限公司 一种应用程序识别处理方法以及装置

Also Published As

Publication number Publication date
CN108399084A (zh) 2018-08-14

Similar Documents

Publication Publication Date Title
US7779409B2 (en) Device-to-device software distribution
CN101119517B (zh) 一种从网络服务器自动下载软件的方法
CN108228628B (zh) 一种结构化查询语言数据库中的宽表生成方法及其装置
WO2015000398A1 (en) Systems and methods for testing terminal applications
CN106126414B (zh) 应用软件测试方法和系统
CN108776592B (zh) 一种页面构建的方法、装置、设备及存储介质
KR20120063456A (ko) 기본 블록들을 이용하여 델타 파일을 생성하기 위한 방법
CN103533164B (zh) 一种利用无线终端控制文档展示的方法及装置
CN109492181B (zh) 页面跳转方法、装置、计算机设备和存储介质
CN104077162A (zh) 移动终端应用模板的更新、发布方法及装置
CN108399084B (zh) 一种应用程序的运行方法及系统
CN105491081A (zh) 移动智能终端下转发应用内流量的方法
CN110865824A (zh) 一种基于无障碍服务实现缄默安装的安卓渗透方法和装置
CN109408090B (zh) 设备软件的升级方法、数据转化器及可读存储介质
CN110018835B (zh) Yang模型配置数据处理方法及装置、终端设备及存储介质
CN111008151A (zh) 程序扫描方法、终端设备及计算机可读存储介质
CN108023905B (zh) 物联网应用系统及方法
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
EP1598739A4 (en) NATIVE COMPILATION METHOD, NATIVE COMPILATION PRETREATMENT METHOD, COMPUTER PROGRAM, AND SERVER
US20180260303A1 (en) Method and device for determining usage log
CN113157326B (zh) 多系统启动方法、装置、终端及控制平台
CN105763422A (zh) 群组快速邀请新用户的方法
US20060053102A1 (en) Method of executing java application and mobile communication terminal using the same
CN105204866A (zh) 设备命令调用方法和系统
CN111367597A (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
TR01 Transfer of patent right

Effective date of registration: 20221101

Address after: 100083 room 101-105, 1 / F, Chuangda building, No.9 Qinghua East Road, Haidian District, Beijing (Dongsheng District)

Patentee after: Thunder Software Technology Co.,Ltd.

Patentee after: CHANGSUO SOFTWARE TECHNOLOGY (SHANGHAI) CO.,LTD.

Address before: 100191 Beijing Haidian District Longxiang Road 1, Tai Xiang business building 4 floor 401-409

Patentee before: Thunder Software Technology Co.,Ltd.

TR01 Transfer of patent right