移动终端的远程调试方法、系统及移动终端的制作方法

文档序号:7799319阅读:143来源:国知局
移动终端的远程调试方法、系统及移动终端的制作方法
【专利摘要】本发明涉及远程调试领域,具体涉及移动终端的远程调试方法、系统及移动终端,通过预先在移动终端的操作系统中嵌入远程控制服务;远程控制服务接收远程调试端发送的调试命令,并调用系统接口执行调试命令,然后截获调试命令的执行结果,并向远程调试端发送截获的执行结果。本发明通过在移动终端操作系统中嵌入远程控制服务,使移动终端通过该远程控制服务与远程调试端建立远程连接,该远程控制服务可以设置有Android操作系统的最高root权限,也可以设置有其它较低权限如系统权限或普通的User权限,以执行远程调试端发送的调试命令;其中,该远程控制服务不需要ROOT权限即可被调用,从而实现远程调试端对该应用软件进行远程调试。
【专利说明】移动终端的远程调试方法、系统及移动终端
【技术领域】
[0001]本发明涉及远程调试领域,具体而言,涉及移动终端的远程调试方法、系统及移动终端。
【背景技术】
[0002]Android 操作系统自带 Adb (Android Debug Bridge,安卓调试桥)Connect IP 工具,安装Android操作系统的移动终端可通过Adb Connect IP工具与远程调试端建立远程连接。
[0003]目前,当安装Android操作系统的移动终端内的应用软件在Android操作系统上具有最高的root权限,且当该应用软件所在的移动终端和该应用软件对应的远程调试端在一个局域网中或者该应用软件所在的移动终端和该应用软件对应的远程调试端通过USB线连接时,该移动终端可通过Adb Connect IP工具与该远程调试端建立连接。远程调试端与移动终端建立连接后,厂商客服可以在远程调试端执行各种Adb命令,以对移动终端内的应用软件进行调试。例如,厂商客服可以使用Adb命令,查看安装Android操作系统的移动终端内的各种软件的运行日志,用以检查该软件的代码层面的问题,并对该应用软件进行维护,进而对该移动终端进行维护。
[0004]但是,当安装Android操作系统的移动终端内的应用软件不具备最高的root权限时,该应用软件无法调用Adb Connect IP工具与远程调试端建立远程连接,从而无法实现远程调试。

【发明内容】

[0005]本发明的目的在于提供移动终端远程调试的方法、装置及系统,以解决上述的问题。
[0006]在本发明的实施例中提供了一种移动终端的远程调试方法,包括:
[0007]预先在移动终端的操作系统中嵌入远程控制服务,其中,远程控制服务不需要ROOT权限即可被调用;
[0008]远程控制服务接收远程调试端发送的调试命令;
[0009]远程控制服务调用与调试命令对应的系统接口执行调试命令;
[0010]远程控制服务截获调试命令的执行结果;
[0011]远程控制服务向远程调试端发送截获的执行结果。
[0012]进一步的,远程控制服务接收远程调试端发送的调试命令,包括:
[0013]预先在公共网络上架设中间服务器;
[0014]远程控制服务接收远程调试端发送的,经由中间服务器转发的调试命令;
[0015]或者,直接接收远程调试端发送的调试命令。
[0016]进一步的,远程控制服务调用系统接口执行调试命令,包括:
[0017]远程控制服务向系统的processbuilder接口函数发送调试命令,以便processbuilder接口函数接收并执行调试命令。
[0018]进一步的,远程控制服务向远程调试端发送截获的执行结果,包括:
[0019]远程控制服务对截获的执行结果进行压缩封装,得到压缩封装后的数据包;
[0020]远程控制服务向远程调试端发送数据包,以便远程调试端接收数据包。
[0021]进一步的,所述方法还包括:
[0022]远程控制服务接收远程调试端发送的指令;
[0023]指令包括:启动调试命令的指令、暂停调试命令的指令或者停止调试命令的指令。
[0024]在本发明的实施例中提供了一种移动终端,包括:远程控制服务;
[0025]远程控制服务具体包括:
[0026]接收单元,用于接收远程调试端发送的调试命令;
[0027]调用单元,与接收单元连接,用于调用系统接口执行接收单元接收的调试命令;
[0028]截获单元,与调用单元连接,用于截获调用单元执行调试命令的执行结果;
[0029]发送单元,与截获单元连接,用于向远程调试端发送截获单元截获的执行结果。
[0030]进一步的,接收单元具体用于接收远程调试端发送的,经由中间服务器转发的调试命令;
[0031]或者,用于直接接收远程调试端发送的调试命令。
[0032]进一步的,调用单元还包括:
[0033]第一发送子单元,用于向系统的processbuilder接口函数发送调试命令,以便processbuilder接口函数接收并执行调试命令。
[0034]进一步的,发送单元还包括:
[0035]压缩封装子单元,与截获单元连接,用于对截获单元截获的执行结果进行压缩封装,得到压缩封装后的数据包;
[0036]第二发送子单元,与压缩封装子单元连接,用于向远程调试端发送压缩封装子单元压缩得到的数据包,以便远程调试端接收数据包。
[0037]在本发明的实施例中提供了一种移动终端远程调试的系统,包括:移动终端和远程调试端;其中,
[0038]移动终端,用于预先在操作系统中嵌入远程控制服务;通过远程控制服务接收远程调试端发送的调试命令;通过远程控制服务调用系统接口执行调试命令;通过远程控制服务截获调试命令的执行结果;通过远程控制服务向远程调试端发送截获的执行结果;
[0039]远程调试端,用于向移动终端发送调试命令;接收移动终端通过远程控制服务发送的截获的执行结果;显示执行结果。
[0040]本发明实施例提供的移动终端的远程调试方法、系统及移动终端,通过预先在移动终端的操作系统中嵌入远程控制服务;远程控制服务接收远程调试端发送的调试命令,并调用系统接口执行调试命令,然后截获调试命令的执行结果,并向远程调试端发送截获的执行结果。与现有技术中当安装Android操作系统的移动终端内的应用软件不具备最高的root权限时,该应用软件端无法调用AdbConnect IP工具与远程调试端建立远程连接,从而无法实现远程调试的方案相比,其通过在移动终端操作系统中嵌入远程控制服务,使移动终端通过该远程控制服务与远程调试端建立远程连接,该远程控制服务可以设置有Android操作系统的最高root权限,也可以设置有稍低一些的权限例如系统权限或者普通的User权限,用以执行远程调试端发送的调试命令;其中,该远程控制服务不需要ROOT权限即可被调用,故不需要安装Android操作系统的移动终端内的应用软件具备最高的root权限,即可使移动终端与远程调试端建立远程连接,从而实现远程调试端对该应用软件进行远程调试。
【专利附图】

【附图说明】
[0041]图1示出了本发明实施例提供的一种移动终端的远程调试方法;
[0042]图2示出了本发明实施例提供的另一种移动终端的远程调试方法;
[0043]图3示出了本发明实施例提供的一种移动终端内远程控制服务的结构示意图;
[0044]图4示出了本发明实施例提供的另一种移动终端内远程控制服务的结构示意图;
[0045]图5示出了本发明实施例提供的一种移动终端的远程调试系统的结构示意图。
【具体实施方式】
[0046]下面通过具体的实施例子并结合附图对本发明做进一步的详细描述。
[0047]实施例1
[0048]本发明实施例提供了一种移动终端远程调试的方法,所述方法由移动终端实现。如图1所示,该方法包括:
[0049]101、预先在移动终端操作系统中嵌入远程控制服务,其中,所述远程控制服务不需要ROOT权限即可被调用。
[0050]本实施例中的移动终端操作系统为Android操作系统;并且,该移动终端内装有应用软件。远程控制服务为一个或多个应用/服务。其中,该远程控制服务在预装时,可以设置只有系统权限或者普通User权限,即可与远程调试端建立连接,实现远程调试端对移动终端进行远程调试。具体的,厂商可以将开发的应用软件直接放到普通的App Store上供用户直接下载,该应用软件即可获得普通User权限,而不需要厂商将其开发的软件预装到移动终端的操作系统中。另外,移动终端在出厂时,也可以将远程控制服务预装在Android操作系统中,并在预装时获取Android操作系统的最高的root权限,用以执行远程调试端发送的调试命令(该调试命令可以用常规的手段对移动终端的应用软件的问题进行调试,也可以深入诊断移动终端的系统问题)。具体的,移动终端在出厂时,将远程控制服务设置什么范围的权限,根据市场上用户的需求进行设置。
[0051]具体的,移动终端还可以通过远程控制服务接收远程调试端发送的指令;该指令具体包括:启动调试命令的指令、暂停调试命令的指令或者停止调试命令的指令。
[0052]102、远程控制服务接收远程调试端发送的调试命令。
[0053]本实施例中,我们通过在公网上架设一台中间服务器,该中间服务器可与移动终端和远程调试端进行通信;具体的,当移动终端和厂商调试端不在同一个局域网内,且不可以直接通过USB线连接时,该远程控制服务可接收经由该中间服务器转发的远程调试端发送的调试命令。当移动终端和远程调试端在同一个局域网,或者,移动终端和远程调试端可以直接通过USB线连接时,远程控制服务直接接收远程调试端发送的调试命令。
[0054]具体的,接收包括:通过局域网或者广域网,以有线或者无线的方式接收调试命令。[0055]103、远程控制服务调用系统接口执行调试命令。
[0056]其中,远程控制服务首先对调试命令进行解析。本实施例中,移动终端与远程调试端之间根据报文传输协议,由远程调试端发送经过封装的携带调试命令报文,移动终端通过远程控制服务接收经过封装的携带调试命令的报文,并根据报文传输协议对该报文进行解析,获取其中的调试命令(该解析过程与封装过程为互逆过程)。具体的,本发明对报文封装和报文解析的方法并不做具体限制。
[0057]具体的,移动终端通过远程控制服务向系统的processbuilder接口函数发送调试命令,以便processbuilder接口函数接收并执行该调试命令。
[0058]104、远程控制服务截获调试命令执行后得到的执行结果。
[0059]本实施例中,远程控制服务调用系统的接口截获调试命令执行后得到的执行结
果O
[0060]例如,从子进程对象的输入流中即可读取到子进程执行该命令的结果。
[0061]105、远程控制服务向远程调试端发送截获的执行结果。
[0062]本实施例中,移动终端可以通过远程控制服务向远程调试端发送截获执行结果;也可以通过移动终端中的专有的发送设备向远程调试端发送截获执行结果。
[0063]本发明实施例提供的移动终端的远程调试方法,通过预先在移动终端的操作系统中嵌入远程控制服务;远程控制服务接收远程调试端发送的调试命令,并调用系统接口执行调试命令,然后截获调试命令的执行结果,并向远程调试端发送截获的执行结果。与现有技术中当安装Android操作系统的移动终端内的应用软件不具备最高的root权限时,该应用软件端无法调用Adb Connect IP工具与远程调试端建立远程连接,从而无法实现远程调试的方案相比,其通过在移动终端操作系统中嵌入远程控制服务,使移动终端通过该远程控制服务与远程调试端建立远程连接,该远程控制服务可以设置有Android操作系统的最高root权限,也可以设置有系统权限或者普通的User权限,用以执行远程调试端发送的调试命令;其中,该远程控制服务不一定需要ROOT权限即可被调用,故不需要安装Android操作系统的移动终端内的应用软件具备最高的root权限,即可使移动终端与远程调试端建立远程连接,从而实现远程调试端对该应用软件进行远程调试。
[0064]实施例2
[0065]本发明实施例中提供了一种移动终端远程调试的方法,所述方法由所述移动终端实现。如图2所示,该方法包括:
[0066]201、预先在移动终端操作系统中嵌入远程控制服务。
[0067]具体的,远程控制服务嵌入的方式包括但不限于移动终端出厂时预装到该移动终端中和用户从App Store上下载安装等。
[0068]202、远程控制服务接收远程调试端发送的调试命令。
[0069]203、远程控制服务调用系统接口执行调试命令。
[0070]204、远程控制服务截获调试命令执行后得到的执行结果。
[0071]205、远程控制服务对截获的执行结果进行压缩封装,得到压缩封装后的数据包。
[0072]本实施例中,移动终端和远程调试端之间预先约定一种传输协议,移动终端根据该传输协议对截获的执行结果进行压缩封装。
[0073]206、远程控制服务向远程调试端发送数据包,以便远程调试端接收数据包。[0074]本实施例中,移动终端将压缩封装后的数据包发送给远程调试端。远程调试端接收该数据包,并对该数据包进行解压缩,并显示。
[0075]本实施例中,移动终端可以通过远程控制服务向远程调试端发送截获执行结果,也可以通过移动终端中的专有的发送设备向远程调试端发送截获执行结果。
[0076]本发明实施例提供的移动终端的远程调试方法,通过预先在移动终端的操作系统中嵌入远程控制服务;远程控制服务接收远程调试端发送的调试命令,并调用系统接口执行调试命令,然后截获调试命令的执行结果,并向远程调试端发送截获的执行结果。与现有技术中当安装Android操作系统的移动终端内的应用软件不具备最高的root权限时,该应用软件端无法调用Adb Connect IP工具与远程调试端建立远程连接,从而无法实现远程调试的方案相比,其通过在移动终端操作系统中嵌入远程控制服务,使移动终端通过该远程控制服务与远程调试端建立远程连接,该远程控制服务可以设置有Android操作系统的最高root权限,也可以设置有其它较低权限如系统权限或者普通的User权限,用以执行远程调试端发送的调试命令;其中,该远程控制服务不一定需要ROOT权限即可被调用,故不需要安装Android操作系统的移动终端内的应用软件具备最高的root权限,即可使移动终端与远程调试端建立远程连接,从而实现远程调试端对该应用软件进行远程调试。
[0077]实施例3
[0078]本发明实施例中提供了一种移动终端,所述移动终端用于实现图1和图2所示的方法。如图3所示,移动终端包括:远程控制服务11 ;其中,
[0079]远程控制服务11具体包括:
[0080]接收单元111,用于接收远程调试端发送的调试命令。
[0081]调用单元112,与接收单元111连接,用于调用系统接口执行接收单元111接收的调试命令。
[0082]截获单元113,与调用单元112连接,用于截获调用单元112执行调试命令的执行结果。
[0083]发送单元114,与截获单元113连接,用于向远程调试端发送截获单元113截获的执行结果。
[0084]进一步的,接收单元111具体用于接收远程调试端发送的,经由中间服务器转发的调试命令;或者,用于直接接收远程调试端发送的调试命令。
[0085]进一步的,如图4所示,调用单元112还包括:
[0086]第一发送子单元1121,用于向系统的processbuilder接口函数发送调试命令,以便processbuilder接口函数接收并执行调试命令。
[0087]进一步的,如图4所示,发送单元114还包括:
[0088]压缩封装子单元1141,与截获单元113连接,用于对截获单元113截获的执行结果进行压缩封装,得到压缩封装后的数据包。
[0089]第二发送子单元1142,与压缩封装子单元1141连接,用于向远程调试端发送压缩封装子单元1141压缩得到的数据包,以便远程调试端接收数据包。
[0090]本发明实施例提供的移动终端,通过预先在移动终端的操作系统中嵌入远程控制服务;远程控制服务接收远程调试端发送的调试命令,并调用系统接口执行调试命令,然后截获调试命令的执行结果,并向远程调试端发送截获的执行结果。与现有技术中当安装Android操作系统的移动终端内的应用软件不具备最高的root权限时,该应用软件端无法调用Adb Connect IP工具与远程调试端建立远程连接,从而无法实现远程调试的方案相比,其通过在移动终端操作系统中嵌入远程控制服务,使移动终端通过该远程控制服务与远程调试端建立远程连接,该远程控制服务可以设置有Android操作系统的最高root权限,也可以设置有其它较低权限如系统权限或者普通的User权限,用以执行远程调试端发送的调试命令;其中,该远程控制服务不一定需要ROOT权限即可被调用,故不需要安装Android操作系统的移动终端内的应用软件具备最高的root权限,即可使移动终端与远程调试端建立远程连接,从而实现远程调试端对该应用软件进行远程调试。
[0091]实施例4
[0092]本发明实施例还提供了一种移动终端远程调试的系统,如图5所示,包括:移动终端21和远程调试端22 ;其中,
[0093]移动终端21,用于预先在操作系统中嵌入远程控制服务;通过远程控制服务接收远程调试端发送的调试命令;通过远程控制服务调用系统接口执行调试命令;通过远程控制服务截获调试命令的执行结果;通过远程控制服务向远程调试端发送截获的执行结果;
[0094]远程调试端22,用于向移动终端发送调试命令;接收移动终端通过远程控制服务发送的截获的执行结果;显示执行结果。
[0095]本发明实施例提供的移动终端的远程调试系统,通过预先在移动终端的操作系统中嵌入远程控制服务;远程控制服务接收远程调试端发送的调试命令,并调用系统接口执行调试命令,然后截获调试命令的执行结果,并向远程调试端发送截获的执行结果。与现有技术中当安装Android操作系统的移动终端内的应用软件不具备最高的root权限时,该应用软件端无法调用Adb Connect IP工具与远程调试端建立远程连接,从而无法实现远程调试的方案相比,其通过在移动终端操作系统中嵌入远程控制服务,使移动终端通过该远程控制服务与远程调试端建立远程连接,该远程控制服务可以设置有Android操作系统的最高root权限,也可以设置有其它较低权限如系统权限或者普通的User权限,用以执行远程调试端发送的调试命令;其中,该远程控制服务不一定需要ROOT权限即可被调用,故不需要安装Android操作系统的移动终端内的应用软件具备最高的root权限,即可使移动终端与远程调试端建立远程连接,从而实现远程调试端对该应用软件进行远程调试。
[0096]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0097]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种移动终端的远程调试方法,其特征在于,包括: 预先在移动终端的操作系统中嵌入远程控制服务,其中,所述远程控制服务不需要ROOT权限即可被调用; 所述远程控制服务接收远程调试端发送的调试命令; 所述远程控制服务调用系统接口执行所述调试命令; 所述远程控制服务截获所述调试命令的执行结果; 所述远程控制服务向所述远程调试端发送所述截获的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述远程控制服务接收远程调试端发送的调试命令,包括: 预先在公共网络上架设中间服务器; 所述远程控制服务接收所述远程调试端发送的,经由所述中间服务器转发的所述调试命令; 或者,直接接收所述远程调试端发送的所述调试命令。
3.根据权利要求1所述的方法,其特征在于,所述远程控制服务调用系统接口执行所述调试命令,包括: 所述远程控制服务向系统的processbuilder接口函数发送所述调试命令,以便所述processbuilder接口函数接收并执行所述调试命令。
4.根据权利要求1所述的方法,其特征在于,所述远程控制服务向所述远程调试端发送所述截获的执行结果,包括: 所述远程控制服务对所述截获的执行结果进行压缩封装,得到压缩封装后的数据包;所述远程控制服务向所述远程调试端发送所述数据包,以便所述远程调试端接收所述数据包。
5.根据权利要求1所述的方法,其特征在于,还包括: 所述远程控制服务接收所述远程调试端发送的指令; 所述指令包括:启动所述调试命令的指令、暂停所述调试命令的指令或者停止所述调试命令的指令。
6.一种移动终端,其特征在于,包括:远程控制服务; 所述远程控制服务具体包括: 接收单元,用于接收远程调试端发送的调试命令; 调用单元,与所述接收单元连接,用于调用系统接口执行所述接收单元接收的所述调试命令; 截获单元,与所述调用单元连接,用于截获所述调用单元执行所述调试命令的执行结果; 发送单元,与所述截获单元连接,用于向所述远程调试端发送所述截获单元截获的执行结果。
7.根据权利要求6所述的装置,其特征在于,所述接收单元具体用于接收所述远程调试端发送的,经由中间服务器转发的所述调试命令; 或者,用于直接接收所述远程调试端发送的所述调试命令。
8.根据权利要求6所述的装置,其特征在于,所述调用单元还包括:第一发送子单元,用于向系统的processbuilder接口函数发送所述调试命令,以便所述processbuilder接口函数接收并执行所述调试命令。
9.根据权利要求6所述的装置,其特征在于,所述发送单元还包括: 压缩封装子单元,与所述截获单元连接,用于对所述截获单元截获的所述执行结果进行压缩封装,得到压缩封装后的数据包; 第二发送子单元,与所述压缩封装子单元连接,用于向所述远程调试端发送所述压缩封装子单元压缩得到的所述数据包,以便所述远程调试端接收所述数据包。
10.一种移动终端远程调试的系统,其特征在于,包括:移动终端和远程调试端;其中, 所述移动终端,用于预先在操作系统中嵌入远程控制服务;通过所述远程控制服务接收远程调试端发送的调试命令;通过所述远程控制服务调用系统接口执行所述调试命令;通过所述远程控制服务截获所述调试命令的执行结果;通过所述远程控制服务向所述远程调试端发送所述截获的所述执行结果; 所述远程调试端, 用于向所述移动终端发送调试命令;接收所述移动终端通过所述远程控制服务发送的截获的执行结果;显示所述执行结果。
【文档编号】H04L29/08GK103902358SQ201410100879
【公开日】2014年7月2日 申请日期:2014年3月18日 优先权日:2014年3月18日
【发明者】郭子华, 刘明明, 刘晓鸣 申请人:北京领通科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1