用于对移动应用进行调试的方法和设备与流程

文档序号:12719301阅读:172来源:国知局
用于对移动应用进行调试的方法和设备与流程

本发明涉及计算机技术领域,尤其涉及一种用于对移动应用进行调试的方法和设备。



背景技术:

目前,在对移动应用进行调试时,调试人员可能需要根据调试结果来对移动应用所对应的程序文件进行多次修改,并且,随着移动应用中功能的不断完善和增加,移动应用中经常会存在各种非Native语言开发的功能,如线上修复逻辑、动态增加功能等;然而,现有的集成开发环境的编译调试功能无法实现针对非Native语言开发的功能的调试,且在调试过程中,每当修改移动应用所对应的程序文件之后,均需进行重新编译,才能基于重新编译后启动的移动应用来进行调试,这使得调试过程中可能需要多次执行重新编译操作,时间花销极大,且调试流程复杂,干扰因素较多。



技术实现要素:

本发明的目的是提供一种用于对移动应用进行调试的方法和设备。

根据本发明的一个方面,提供一种用于对移动应用进行调试的方法,其中,该方法包括以下步骤:

当监听到键盘事件信息时,移动应用根据所述键盘事件信息,向已启动的本地服务器发送文件请求;

所述本地服务器接收来自所述移动应用的文件请求,并向所述移动应用提供与所述文件请求相对应的本地文件;

所述移动应用获得来自所述本地服务器的本地文件,并根据所述本 地文件执行相应操作,以无需重新编译来对所述移动应用进行调试。

根据本发明的另一个方面,还提供了一种用于对移动应用进行调试的设备,其中,该设备包括:

监听装置,用于当监听到键盘事件信息时,根据所述键盘事件信息,向已启动的本地服务器发送文件请求;

本地服务器,用于接收来自移动应用的文件请求,并向所述移动应用提供与所述文件请求相对应的本地文件;

获得装置,用于获得来自所述本地服务器的本地文件,并根据所述本地文件执行相应操作,以无需重新编译来对所述移动应用进行调试。

与现有技术相比,本发明具有以下优点:能够通过监听键盘事件信息,来进行移动应用与本地服务器进行交互,从而使得在调试过程中,调试人员不需要基于修改后的本地文件进行重新编译,便能实现对移动应用的调试,该调试方式能够大大减少重新编译的次数,以减少重新编译带来的时间花销,调试流程简单,极便于调试人员对移动应用的调试。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明一个实施例的用于对移动应用进行调试的方法的流程示意图;

图2为本发明一个实施例的用于对移动应用进行调试的设备的结构示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

图1为本发明一个实施例的用于对移动应用进行调试的方法的流 程示意图。

其中,本实施例的方法主要在用于对移动应用进行调试的设备(以下简称为调试设备)中实现,其中,所述调试为模拟器调试,也即,调试设备上运行有模拟器,移动应用在所述模拟器中运行;其中,所述调试设备中运行有用于进行调试的软件开发环境,调试人员可在该软件开发环境中进行针对移动应用的调试操作,优选地,所述软件开发环境为集成软件开发环境(如Xcode、Eclipse等),以便于调试人员能够在调试过程中对与移动应用相对应的本地文件进行修改。其中,所述移动应用可为适用于任何系统的应用,如IOS系统、Android系统等;其中,所述移动应用包括任何能够在移动设备中运行的应用,如移动端Web App和客户端应用程序;优选地,在移动端Web App的开发过程中,能够通过调起协议来调用客户端能力。以下给出一个示例的Web App的开发过程:针对Web端和客户端分别提供云端SDK和Native SDK,其中,云端SDK和Native SDK可互相通信;在Web端开发时开发方仅需集成云端SDK,便可通过云端SDK和Native SDK之间的通信来调用客户端能力;其中,当需要调用客户端能力时,可查询集成的Web JS库中现有的API文档,如果Web JS库中存在需要调用的API则直接调用,如果Web JS库中不存在需要调用的API,则向平台方提出需求,以实现调用客户端能力,其中,该平台方可向开发方提供多种系统的API;上述示例的开发方案无需关注系统平台,可实现跨平台的调用客户端能力,能够有效降低开发方的开发联调成本,提升客户端功能的可扩展性以及云端对Native App的控制能力,并能够有效降低开发方的平台兼容成本。

根据本实施例的方法包括步骤S1、步骤S2和步骤S3。

在步骤S1中,当监听到键盘事件信息时,移动应用根据所述键盘事件信息,向已启动的本地服务器发送文件请求。

具体地,当监听到键盘事件信息时,移动应用根据所述键盘事件信息,确定与该键盘事件信息相对应的至少一个本地文件,并向已启动的本地服务器发送用于请求该至少一个本地文件的文件请求。

其中,所述键盘事件信息包括任何用于指示键盘事件的信息,如当前被按下的按键、短时间内连续按下的多个按键等;也即,键盘事件可为当前发生的本次按键事件,或者在短时间内发生的连续的按键事件。其中,移动应用中预先存储有多个预定指令以及该多个预定指令所分别对应的键盘事件;例如,预定指令“刷新当前界面”所对应的键盘事件为按键“shift”和“R”被同时按下;又例如,预定指令“加载指定文件”所对应的键盘事件为短时间内连接按下的多个按键依次为“file+XXX#”,其中,“XXX”表示设备的操作人员(也即调试人员)指定的要加载的文件名称,#表示结束按键操作;再例如,预定指令“重新加载”所对应的键盘事件为按键“shift”和“T”被同时按下,该预定指令指示重载加载移动应用所对应的全部本地文件。

其中,所述文件请求用于向本地服务器请求本地文件。优选地,所述本地文件不需要进行编译即可应用于所述移动应用,更优选地,所述本地文件为采用非native语言编写的文件,如JS格式的文件。

其中,本地服务器(sever)可在启动针对移动应用的调试之前启动,或者在调试过程中启动。

优选地,在步骤S1之前,在调试设备中通过执行脚本来启动本地服务器。

优选地,在调试设备上运行的集成开发环境中通过执行脚本来在该调试设备中启动本地服务器。

例如,调试设备中运行Xcode,在Xcode中通过执行脚本用Node.js启动本地服务器。

具体地,当监听到键盘事件信息时,移动应用根据所述键盘事件信息,向已启动的本地服务器发送文件请求的实现方式包括但不限于:

1)当监听到键盘事件信息,且所述键盘事件信息指示重新加载指定的本地文件时,移动应用向已启动的本地服务器发送用于指示请求所述指定的本地文件的文件请求。

例如,移动应用监听到键盘事件信息,该键盘事件信息指示被连 接按下的多个按键依次为“file+test#”,移动应用根据该键盘事件信息以及预定指令确定该键盘事件信息指示重新加载本地文件“test.js”,则移动应用向已启动的本地sever发送文件请求,该文件请求用于向本地sever请求“test.js”。

2)当监听到键盘事件信息,且所述键盘事件信息指示刷新所述移动应用的当前页面时,移动应用根据所述当前页面,确定需要请求的至少一个本地文件;接着,移动应用向已启动的本地服务器发送用于指示请求所述至少一个本地文件的文件请求。

例如,移动应用监听到键盘事件信息,该键盘事件信息指示按键“shift”和“R”被同时按下,移动应用根据该键盘事件信息以及预定指令确定该键盘事件信息指示刷新移动应用的当前页面,则移动应用根据当前页面,确定与当前页面的显示相关的两个本地文件包括:T1.js、T2.js;接着,移动应用向本地sever发送文件请求,该文件请求用于向本地sever请求上述两个本地文件。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当监听到键盘事件信息时,移动应用根据所述键盘事件信息,向已启动的本地服务器发送文件请求的实现方式,均应包含在本发明的范围内。

在步骤S2中,本地服务器接收来自移动应用的文件请求,并向所述移动应用提供与所述文件请求相对应的本地文件。

例如,本地服务器接收来自移动应用的文件请求,该文件请求用于请求本地文件“test.js”,则本地sever将当前的本地文件“test.js”提供给移动应用。

需要说明的是,在本步骤中,本地服务器向移动应用返回的是最新的本地文件;也即,在步骤S2之前,若在调试过程中,调试人员对本地文件进行了修改,则在步骤S2中,本地服务器向移动应用返回的是修改后的本地文件,而并非是移动应用最近一次被编译时所使用的本地文件。

在步骤S3中,移动应用获得来自本地服务器的本地文件,并根 据所获得本地文件执行相应操作,以无需重新编译来对移动应用进行调试。

其中,所述相应操作包括任何与针对移动应用进行的调试相关的操作,优选地,所述相应操作包括但不限于:

1)重新加载本地文件。需要说明的是,移动应用需重新加载本地服务器所提供的所有本地文件。

2)根据本地文件刷新移动应用的当前页面。需要说明的是,移动应用根据本地文件刷新其当前页面之前,必须先重新加载本地文件;并且,移动应用可基于其所获得的全部或部分本地文件来刷新其当前页面;也即,并非移动应用所获得的全部本地文件均需用于刷新当前页面。

优选地,移动应用结合键盘事件信息,来根据所获得本地文件执行相应操作,以无需重新编译来对移动应用进行调试。

作为一个示例,在步骤S1中,当监听到键盘事件信息,且该键盘事件信息指示重新加载指定的本地文件时,移动应用向本地服务器发送文件请求,来请求加载本地文件“test.js”;在步骤S2中,本地服务器向移动应用提供当前的本地文件“test.js”;在步骤S3中,移动应用获得来自本地服务器的本地文件,并结合键盘事件信息,重新加载本地文件“test.js”,以基于重新加载的该本地文件来进行后续的调试,而无需重新进行编译。

作为另一个示例,在步骤S1中,当监听到键盘事件信息,且该键盘事件信息指示刷新移动应用的当前页面时,移动应用向本地服务器发送文件请求,来请求与当前页面相对应的本地文件“T1.js”和“T2.js”;在步骤S2中,本地服务器向移动应用提供当前的本地文件“T1.js”和“T2.js”;在步骤S3中,移动应用获得来自本地服务器的本地文件,并结合键盘事件信息,重新加载本地文件“T1.js”和“T2.js”,并在不重新编译的情况下,直接基于重新加载的本地文件“T1.js”和“T2.js”来刷新当前页面。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非 对本发明的限制,本领域技术人员应该理解,任何移动应用获得来自所述本地服务器的本地文件,并根据所述本地文件执行相应操作,以无需重新编译来对所述移动应用进行调试的实现方式,均应包含在本发明的范围内。

根据本实施例的方案,能够通过监听键盘事件信息,来进行移动应用与本地服务器进行交互,从而使得在调试过程中,调试人员不需要基于修改后的本地文件进行重新编译,便能实现对移动应用的调试,该调试方式能够大大减少重新编译的次数,以减少重新编译带来的时间花销,调试流程简单,极便于调试人员对移动应用的调试。

图2为本发明一个实施例的用于对移动应用进行调试的设备的结构示意图,该用于对移动应用进行调试的设备(以下简称为“调试设备”)包括监听装置1、本地服务器2和获得装置3。需要说明的是,所述监听装置1和获得装置3均集成至在调试设备上的模拟器中运行的移动应用中。

当监听到键盘事件信息时,监听装置1根据所述键盘事件信息,向已启动的本地服务器发送文件请求。

具体地,当监听到键盘事件信息时,监听装置1根据所述键盘事件信息,确定与该键盘事件信息相对应的至少一个本地文件,并向已启动的本地服务器发送用于请求该至少一个本地文件的文件请求。

其中,所述键盘事件信息包括任何用于指示键盘事件的信息,如当前被按下的按键、短时间内连续按下的多个按键等;也即,键盘事件可为当前发生的本次按键事件,或者在短时间内发生的连续的按键事件。其中,移动应用中预先存储有多个预定指令以及该多个预定指令所分别对应的键盘事件;例如,预定指令“刷新当前界面”所对应的键盘事件为按键“shift”和“R”被同时按下;又例如,预定指令“加载指定文件”所对应的键盘事件为短时间内连接按下的多个按键依次为“file+XXX#”,其中,“XXX”表示设备的操作人员(也即调试人员)指定的要加载的文件名称,#表示结束按键操作;再例如,预定指令“重新加载”所对应的键盘事件为按键“shift”和“T”被同时按下,该预定指 令指示重载加载移动应用所对应的全部本地文件。

其中,所述文件请求用于向本地服务器请求本地文件。优选地,所述本地文件不需要进行编译即可应用于所述移动应用,更优选地,所述本地文件为采用非native语言编写的文件,如JS格式的文件。

其中,本地服务器(sever)可在启动针对移动应用的调试之前启动,或者在调试过程中启动。

优选地,调试设备还包括在监听装置1之前执行操作的启动装置(图未示)。启动装置通过执行脚本来启动本地服务器。

优选地,启动装置集成至在调试设备上运行的集成开发环境中,并通过执行脚本来在该调试设备中启动本地服务器。

例如,调试设备中运行Xcode,在Xcode中的启动装置通过执行脚本用Node.js启动本地服务器。

具体地,当监听到键盘事件信息时,监听装置1根据所述键盘事件信息,向已启动的本地服务器发送文件请求的实现方式包括但不限于:

1)监听装置1包括第一发送装置(图未示)。当监听到键盘事件信息,且所述键盘事件信息指示重新加载指定的本地文件时,第一发送装置向已启动的本地服务器发送用于指示请求所述指定的本地文件的文件请求。

例如,第一发送装置监听到键盘事件信息,该键盘事件信息指示被连接按下的多个按键依次为“file+test#”,第一发送装置根据该键盘事件信息以及预定指令确定该键盘事件信息指示重新加载本地文件“test.js”,则第一发送装置向已启动的本地sever发送文件请求,该文件请求用于向本地sever请求“test.js”。

2)监听装置1包括确定装置(图未示)和第二发送装置(图未示)。当监听到键盘事件信息,且所述键盘事件信息指示刷新所述移动应用的当前页面时,确定装置根据所述当前页面,确定需要请求的至少一个本地文件;接着,第二发送装置向已启动的本地服务器发送用于指示请求所述至少一个本地文件的文件请求。

例如,确定装置监听到键盘事件信息,该键盘事件信息指示按键“shift”和“R”被同时按下,确定装置根据该键盘事件信息以及预定指令确定该键盘事件信息指示刷新移动应用的当前页面,则确定装置根据当前页面,确定与当前页面的显示相关的两个本地文件包括:T1.js、T2.js;接着,第二发送装置向本地sever发送文件请求,该文件请求用于向本地sever请求上述两个本地文件。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当监听到键盘事件信息时,移动应用根据所述键盘事件信息,向已启动的本地服务器发送文件请求的实现方式,均应包含在本发明的范围内。

本地服务器2接收来自移动应用的文件请求,并向所述移动应用提供与所述文件请求相对应的本地文件。

例如,本地服务器2接收来自移动应用的文件请求,该文件请求用于请求本地文件“test.js”,则本地sever将当前的本地文件“test.js”提供给移动应用。

需要说明的是,本地服务器2向移动应用返回的是调试设备中的最新的本地文件;也即,若在调试过程中,调试人员对本地文件进行了修改,则本地服务器2向移动应用返回的是修改后的本地文件,而并非是移动应用最近一次被编译时所使用的本地文件。

获得装置3获得来自本地服务器2的本地文件,并根据所获得的本地文件执行相应操作,以无需重新编译来对移动应用进行调试。

其中,所述相应操作包括任何与针对移动应用进行的调试相关的操作,优选地,所述相应操作包括但不限于:

1)重新加载本地文件。需要说明的是,获得装置3需重新加载本地服务器所提供的所有本地文件。

2)根据本地文件刷新移动应用的当前页面。需要说明的是,获得装置3根据本地文件刷新其当前页面之前,必须先重新加载本地文件;并且,获得装置3可基于其所获得的全部或部分本地文件来刷新其当前页面;也即,并非移动应用所获得的全部本地文件均需用于刷 新当前页面。

优选地,获得装置3结合键盘事件信息,来根据所获得本地文件执行相应操作,以无需重新编译来对移动应用进行调试。

作为一个示例,当监听到键盘事件信息,且该键盘事件信息指示重新加载指定的本地文件时,监听装置1向本地服务器发送文件请求,来请求加载本地文件“test.js”;本地服务器2向移动应用提供当前的本地文件“test.js”;获得装置3获得来自本地服务器2的本地文件,并结合键盘事件信息,重新加载本地文件“test.js”,以基于重新加载的该本地文件来进行后续的调试,而无需重新进行编译。

作为另一个示例,当监听到键盘事件信息,且该键盘事件信息指示刷新移动应用的当前页面时,监听装置1向本地服务器发送文件请求,来请求与当前页面相对应的本地文件“T1.js”和“T2.js”;本地服务器2向移动应用提供当前的本地文件“T1.js”和“T2.js”;获得装置3获得来自本地服务器2的本地文件,并结合键盘事件信息,重新加载本地文件“T1.js”和“T2.js”,并在不重新编译的情况下,直接基于重新加载的本地文件“T1.js”和“T2.js”来刷新当前页面。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何移动应用获得来自所述本地服务器的本地文件,并根据所述本地文件执行相应操作,以无需重新编译来对所述移动应用进行调试的实现方式,均应包含在本发明的范围内。

根据本实施例的方案,能够通过监听键盘事件信息,来进行移动应用与本地服务器进行交互,从而使得在调试过程中,调试人员不需要基于修改后的本地文件进行重新编译,便能实现对移动应用的调试,该调试方式能够大大减少重新编译的次数,以减少重新编译带来的时间花销,调试流程简单,极便于调试人员对移动应用的调试。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其 他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1