CN107463499B - Adb远程连接方法、装置、设备及存储介质 - Google Patents

Adb远程连接方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN107463499B
CN107463499B CN201710670329.2A CN201710670329A CN107463499B CN 107463499 B CN107463499 B CN 107463499B CN 201710670329 A CN201710670329 A CN 201710670329A CN 107463499 B CN107463499 B CN 107463499B
Authority
CN
China
Prior art keywords
adb
server
network
connection
debugging
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
CN201710670329.2A
Other languages
English (en)
Other versions
CN107463499A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710670329.2A priority Critical patent/CN107463499B/zh
Publication of CN107463499A publication Critical patent/CN107463499A/zh
Application granted granted Critical
Publication of CN107463499B publication Critical patent/CN107463499B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Abstract

本发明实施例公开了一种ADB远程连接方法、装置、设备及存储介质。该方法包括:服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;服务器根据第一应用层连接请求,控制目标Android设备在第二网络中建立守护进程与服务器之间的ADB连接;服务器在接收到目标Android设备发送的ADB成功连接信息时,生成在第一网络中使用的第一网络地址提供给调试终端;服务器根据调试终端发送的基于第一网络地址的调试连接请求,与调试终端建立ADB连接。上述方法降低了建立ADB远程连接的系统成本以及运维成本,提升了使用ADB调试Android设备的便利性。

Description

ADB远程连接方法、装置、设备及存储介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种ADB远程连接方法、装置、设备及存储介质。
背景技术
ADB(Android Debug Bridge,安卓调试桥)是一个多功能的命令行工具,是一个客户端-服务器模式的应用程序,利用ADB可实现对与开发计算机相连的模拟器或真实设备的管理操作,可以查看日志、调试信息,也可以用ADB来实现一些自动化和脚本功能。
使用ADB调试移动设备主要有USB(Universal Serial Bus,通用串行总线)模式和无线模式。在USB模式中,需使用USB数据线建立客户端与移动设备之间的连接;在无线模式中,若采用ADB默认自带的远程连接则需使客户端与移动设备处于同一网段,否则无法建立二者之间的连接。
目前,实现ADB无线模式下的跨网段连接需借助于服务器、客户端以及USB模式下USB端口的转发功能,来实现跨网段的ADB远程连接,但该过程中涉及路由配置、动态地址绑定等一系列复杂的网络拓扑配置,其开发、管理以及运维成本都比较大,且受限于USB设备的电压稳定性(时长会造成设备断连且无法实现自动重连,稳定性不佳)。
发明内容
本发明实施例提供一种ADB远程连接方法、装置、设备及存储介质,以降低建立ADB远程连接的系统成本以及运维成本,提升使用ADB调试Android设备的便利性。
第一方面,本发明实施例提供了一种ADB远程连接方法,包括:
服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;
所述服务器根据所述第一应用层连接请求,控制所述目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;
所述服务器在接收到所述目标Android设备发送的ADB成功连接信息时,生成在所述第一网络中使用的第一网络地址,提供给所述调试终端;
所述服务器根据所述调试终端发送的,基于所述第一网络地址的调试连接请求,与所述调试终端建立ADB连接。
第二方面,本发明实施例还提供了一种ADB远程连接方法,包括:
Android设备在第二网络中建立守护进程与服务器之间的ADB连接;
其中,所述服务器在通过第一网络获取调试终端发送的,指向所述Android设备的第一应用层连接请求后,控制所述Android设备在所述第二网络中建立守护进程与自身的ADB连接;
所述Android设备在ADB连接建立成功时,向所述服务器发送ADB成功连接信息。
第三方面,本发明实施例还提供了一种ADB远程连接装置,应用于服务器中,包括:
第一应用层连接请求获取模块,用于通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;
ADB连接第一建立模块,用于根据所述第一应用层连接请求,控制所述目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;
第一网络地址生成模块,用于在接收到所述目标Android设备发送的ADB成功连接信息时,生成在所述第一网络中使用的第一网络地址,提供给所述调试终端;
ADB连接第二建立模块,用于根据所述调试终端发送的,基于所述第一网络地址的调试连接请求,与所述调试终端建立ADB连接。
第四方面,本发明实施例还提供了一种ADB远程连接装置,应用于Android设备中,包括:
ADB连接建立模块,用于在第二网络中建立守护进程与服务器之间的ADB连接;
其中,所述服务器在通过第一网络获取调试终端发送的,指向所述Android设备的第一应用层连接请求后,控制所述Android设备在所述第二网络中建立守护进程与自身的ADB连接;
成功连接信息发送模块,用于在ADB连接建立成功时,向所述服务器发送ADB成功连接信息。
第五方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的应用于服务器的ADB远程连接方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的应用于服务器的ADB远程连接方法。
第七方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的应用于Android设备的ADB远程连接方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的应用于Android设备的ADB远程连接方法。
本发明实施例提供的一种ADB远程连接方法、装置、设备及存储介质,通过服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;服务器根据第一应用层连接请求,控制目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;服务器在接收到目标Android设备发送的ADB成功连接信息时,生成在第一网络中使用的第一网络地址,提供给调试终端;服务器根据调试终端发送的,基于第一网络地址的调试连接请求,与调试终端建立ADB连接的技术手段,实现了调试终端与目标Android设备之间的ADB远程连接。该ADB远程连接方法在不需要调试终端连接目标Android设备的情况下,支持从调试终端到服务器到目标Android设备的跨网段无线通信,由于其不需要额外的路由配置或者端口转发配置,有效降低了建立ADB远程连接的系统成本以及运维成本,提升了目标Android设备接入ADB远程连接以及使用ADB调试Android设备的便利性。
附图说明
图1是本发明实施例一中的一种ADB远程连接方法的流程图;
图2是本发明实施例二中的一种ADB远程连接方法的流程图;
图3是本发明实施例三中的一种ADB远程连接方法的流程图;
图4是本发明实施例四中的一种ADB远程连接方法的流程图;
图5是本发明实施例五中的一种ADB远程连接方法的应用场景示意图;
图6是本发明实施例六中的一种ADB远程连接装置的结构示意图;
图7是本发明实施例七中的一种ADB远程连接装置的结构示意图;
图8是本发明实施例八中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
本实施例提供了一种ADB远程连接方法,适用于跨网段建立调试终端与Android设备之间ADB远程连接的情况,该方法可以由本发明实施例提供的应用于服务器的ADB远程连接装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在服务器中。如图1所示,本实施例的方法具体包括下述操作:
S110、服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求。
服务器通过第一网络(例如是广域网)与调试终端相连,其中,调试终端例如可以是PC(Personal Computer,个人计算机)。当调试终端与被调试的目标Android设备不处于同一网段时,若要对该目标Android设备进行调试,则需建立调试终端与该目标Android设备的跨网段ADB远程连接。
用户利用调试终端通过广域网向服务器发送第一应用层连接请求,其中,该第一应用层连接请求为指向目标Android设备的,旨在与该目标Android设备建立ADB远程连接。
S120、服务器根据第一应用层连接请求,控制目标Android设备在第二网络中建立守护进程与服务器之间的ADB连接。
其中,服务器通过第二网络(例如是局域网)与目标Android设备相连。
守护进程(ADB daemon)是一类在后台运行并且不受任何终端控制的特殊进程,用于执行特定的系统任务。其中,与一个Android设备建立ADB连接,即是与该Android设备的守护进程建立连接,这种连接不同于应用层的连接,是ADB连接。相应的,所述目标Android的守护进程可以根据服务器发送的ADB指令,执行相应的调试控制操作。
S130、服务器在接收到目标Android设备发送的ADB成功连接信息时,生成在第一网络中使用的第一网络地址,提供给调试终端。
当目标Android设备成功建立其守护进程与服务器之间的ADB连接后,向服务器发送相应的成功连接信息。服务器接收到该成功连接信息后,生成其在第一网络(例如广域网)中使用的第一网络地址(例如是动态网络地址),并将该第一网络地址提供给调试终端。
S140、服务器根据调试终端发送的,基于第一网络地址的调试连接请求,与调试终端建立ADB连接。
调试终端接收到服务器提供的第一网络地址,基于该第一网络地址向服务器发送调试连接请求。服务器接收到调试终端的调试连接请求,与该调试终端建立ADB连接。
典型的,调试终端在获取所述第一网络地址后,建立自身的ADB客户端以及ADB服务器,并建立该ADB服务器与所述服务器之间的连接,这种连接不同于应用层的连接,而是ADB连接。典型的,调试终端会动态创造ADB客户端以及ADB服务器后,使用该ADB客户端以及ADB服务器与所述服务器建立ADB连接。建立调试终端与所述服务器的上述ADB连接之后,调试终端可以发送相应的ADB命令至所述服务器。
至此,服务器与调试终端以及目标Android设备分别建立了ADB连接,即间接建立了调试终端与目标Android设备的守护进程之间的ADB连接,由于调试终端和目标Android设备不处于同一网段,即建立了调试终端与目标Android设备之间的跨网段的ADB远程连接。
本实施例提供的一种ADB远程连接方法,通过服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;服务器根据第一应用层连接请求,控制目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;服务器在接收到目标Android设备发送的ADB成功连接信息时,生成在第一网络中使用的第一网络地址,提供给调试终端;服务器根据调试终端发送的,基于第一网络地址的调试连接请求,与调试终端建立ADB连接的技术手段,实现了调试终端与目标Android设备之间的跨网段ADB远程连接。由于该方法中不需要额外的路由配置或者端口转发配置,有效降低了建立ADB远程连接的系统成本以及运维成本,提升了目标Android设备接入ADB远程连接以及使用ADB调试Android设备的便利性。除此之外,对于用户的使用感受而言,上述ADB远程连接方法,与使用无线模式中ADB默认自带的远程连接是没有区别的。
实施例二
在上述各实施例的基础上,服务器构造与第一应用层连接请求对应的第二应用层连接请求;通过第二网络将第二应用层连接请求发送至目标Android设备,以控制目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接。
同时,在服务器构造与第一应用层连接请求对应的第二应用层连接请求之前,服务器通过预先构建的第一虚拟代理服务器,生成第二网络地址,并将第二网络地址暴露于第二网络中,以使目标Android设备根据服务器在第二网络中使用的第二网络地址,建立守护进程与所述服务器之间的ADB连接;
具体的,服务器在通过第一虚拟代理服务器接收到ADB成功连接信息时,动态构建第二虚拟代理服务器;通过第二虚拟代理服务器生成第一网络地址,并将第一网络地址提供给调试终端;将第二虚拟代理服务器与第一虚拟代理服务器进行绑定,以将第一虚拟代理服务器与第二虚拟代理服务器进行桥接。
如图2所示,本实施例的方法具体包括下述操作:
S210、服务器通过预先构建的第一虚拟代理服务器,生成第二网络地址,并将第二网络地址暴露于第二网络中。
所述构建第一虚拟代理服务器,是用于和目标Android设备通过第二网络(局域网)建立连接。目标Android设备可根据服务器在第二网络(局域网)中使用的第二网络地址(固定网络地址),建立其守护进程与服务器之间的ADB连接。
S220、服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求。
在本实施例的一个可选的实施方式中,可以将所述第一网络具体为广域网,将所述第二网络具体为局域网;
同时,可以将第一网络地址具体为动态网络地址,将所述第二网络地址具体为固定网络地址。
S230、服务器构造与第一应用层连接请求对应的第二应用层连接请求。
S240、服务器通过第二网络将第二应用层连接请求发送至目标Android设备。
在本实施例中,服务器与目标Android设备的守护进程之间的ADB连接是由目标Android设备为主导建立的,而目标Android设备主动与该服务器建立ADB连接的时机,是由服务器发送的第二应用层连接请求触发的。
其中,所述ADB连接为底层通信连接,所述应用层连接请求为高层通信信息。
目标Android设备在接收到第二应用层连接请求时,根据服务器在第二网络(局域网)中使用的第二网络地址(固定网络地址),建立守护进程与所述服务器之间的ADB连接,并在ADB连接建立成功时,向所述服务器发送所述ADB成功连接信息。
S250、服务器在通过第一虚拟代理服务器接收到ADB成功连接信息时,动态构建第二虚拟代理服务器。
其中,服务器构建第二虚拟代理服务器,是用于通过第一网络(局域网)和调试终端建立连接。
S260、服务器通过第二虚拟代理服务器生成第一网络地址,并将第一网络地址提供给所述调试终端。
S270、服务器将第二虚拟代理服务器与第一虚拟代理服务器进行绑定,以将第一虚拟代理服务器与第二虚拟代理服务器进行桥接。
将第一虚拟代理服务器与第二虚拟代理服务器进行桥接,由此间接建立了目标Android设备的守护进程--服务器的第一虚拟代理服务器--服务器的第二虚拟代理服务器--调试终端的连接。
S280、服务器根据调试终端发送的,基于第一网络地址的调试连接请求,与调试终端建立ADB连接。
至此,服务器与调试终端以及目标Android设备分别建立了ADB连接,即间接建立了调试终端与目标Android设备之间的ADB连接,由于调试终端和目标Android设备不处于同一网段,即建立了调试终端与目标Android设备之间的跨网段的ADB远程连接。
本实施例的技术方案中,服务器端构建第一虚拟代理服务器,通过局域网与目标Android设备的守护进程建立连接,构建第二虚拟代理服务器,通过广域网与调试终端建立连接,分别实现了服务器与调试终端以及服务器与目标Android设备的ADB连接,间接实现了调试终端与目标Android设备之间的ADB远程连接。
在上述各实施例的基础上,执行操作S280之后,如图2所示,上述ADB远程连接方法还包括下述操作:
S290、服务器通过第二虚拟代理服务器获取调试终端通过第一网络发送的ADB调试指令。
S2100、服务器通过第二虚拟代理服务器按照设定过滤规则对ADB调试指令进行过滤,并将过滤后的合法ADB调试指令发送至第一虚拟代理服务器。
S2110、服务器通过第一虚拟代理服务器将合法ADB调试指令通过第二网络发送至目标Android设备。
当调试终端与目标Android设备建立ADB远程连接后,调试终端通过第一网络(广域网)发送ADB调试指令,服务器通过第二虚拟代理服务器接收到该ADB调试指令,并依据设定过滤规则对其进行过滤,将过滤后的合法ADB调试指令发送至第一虚拟代理服务器,经第一虚拟代理服务器通过第二网络(局域网)发送至目标Android设备,对目标Android设备进行调试。
其中,设定过滤规则指的是对接收到的ADB调试指令进行过滤,在软件层面对ADB调试指令进行监控,并对不合法的ADB调试指令进行拦截。
上述技术方案中,通过对接收到的ADB调试指令进行过滤,拦截不合法的ADB调试指令,实现了对调试终端侧用户的行为管控,保障了Android设备在被调试过程中的安全性。
实施例三
本实施例提供了一种ADB远程连接方法,适用于跨网段建立调试终端与Android设备之间ADB远程连接的情况,该方法可以由本发明实施例提供的应用于Android设备的ADB远程连接装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在Android设备中。如图3所示,本实施例的方法具体包括下述操作:
S310、Android设备在第二网络中建立守护进程与服务器之间的ADB连接。
其中,服务器在通过第一网络获取调试终端发送的,指向Android设备的第一应用层连接请求后,控制Android设备在第二网络中建立守护进程与自身的ADB连接。
其中,守护进程用于执行特定的系统任务,与一个Android设备建立ADB连接,即是与该Android设备的守护进程建立连接,在与该Android的守护进程相连接后,可以进而向该守护进程发送ADB命令,从而实现对该Android设备的调试。
S320、Android设备在ADB连接建立成功时,向服务器发送ADB成功连接信息。
服务器通过第一网络(例如是广域网)与调试终端(例如是PC机)相连,通过第二网络(例如是局域网)与Android设备相连,调试终端和Android设备处于不同的网段。用户若要通过调试终端对该Android设备进行调试,需建立二者之间的ADB远程连接。服务器通过第一网络接收到,调试终端发送的,指向Android设备的第一应用层连接请求后,会控制Android设备在第二网络中建立守护进程与自身的ADB连接。Android设备在成功建立其守护进程与服务器之间的ADB连接时,会向服务器发送ADB成功连接信息。
本实施例提供的一种ADB远程连接方法,通过Android设备在第二网络中建立守护进程与服务器之间的ADB连接,其中,服务器在通过第一网络获取调试终端发送的,指向Android设备的第一应用层连接请求后,控制Android设备在第二网络中建立守护进程与自身的ADB连接;Android设备在ADB连接建立成功时,向服务器发送ADB成功连接信息的技术手段,实现了在用户利用调试终端通过广域网向服务器发送ADB连接请求时,Android设备可成功建立其守护进程与服务器之间的ADB连接。
实施例四
在上述各技术方案的基础上,Android设备在接收到服务器发送的第二应用层连接请求时,根据服务器在第二网络中使用的第二网络地址,建立守护进程与服务器之间的ADB连接。其中,第二应用层连接请求为服务器根据接收到的第一应用层连接请求构造生成。
具体的,Android设备根据第二应用层连接请求,构建第一虚拟代理客户端;通过第一虚拟代理客户端,调用本地调试端口,建立与守护进程之间的ADB连接;创建第二虚拟代理客户端;将第一虚拟代理客户端与第二虚拟代理客户端进行绑定,以将第一虚拟代理客户端与第二虚拟代理客户端进行桥接;通过第二虚拟代理客户端,调用外部调试端口,使用服务器在第二网络中的第二网络地址与服务器建立ADB连接。
如图4所示,本实施例的方法具体包括下述操作:
S410、Android设备在接收到服务器发送的第二应用层连接请求时,Android设备根据第二应用层连接请求,构建第一虚拟代理客户端。
其中,第二应用层连接请求为服务器根据接收到的第一应用层连接请求构造生成。构建第一虚拟代理客户端是为了建立Android设备与守护进程之间的ADB连接。
S420、Android设备通过第一虚拟代理客户端,调用本地调试端口,建立与守护进程之间的ADB连接。
Android设备上开启本地调试端口,第一虚拟代理客户端通过TCP(TransmissionControl Protocol,传输控制协议)连接本地调试端口,建立第一虚拟代理客户端与守护进程之间的ADB连接。
S430、Android设备创建第二虚拟代理客户端。
创建第二虚拟代理客户端是为了建立Android设备与服务器之间的ADB连接。
S440、Android设备将第一虚拟代理客户端与第二虚拟代理客户端进行绑定,以将第一虚拟代理客户端与第二虚拟代理客户端进行桥接。
S450、Android设备通过第二虚拟代理客户端,调用外部调试端口,使用服务器在第二网络中的第二网络地址与服务器建立ADB连接。
Android设备通过外部调试端口,使用服务器在局域网中的固定网络地址建立与服务器之间的ADB连接。将第一虚拟代理客户端与第二虚拟代理客户端进行桥接,由此建立了Android设备的守护进程--第一虚拟代理客户端--第二虚拟代理客户端--服务器的ADB连接。
在本实施例的一个可选的实施方式中,可以将所述第一网络具体为广域网,将所述第二网络具体为局域网;
同时,可以将第一网络地址具体为动态网络地址,将所述第二网络地址具体为固定网络地址。
S460、Android设备在ADB连接建立成功时,向服务器发送ADB成功连接信息。
当Android设备在ADB连接建立成功时,向服务器发送ADB成功连接信息,以提示服务器建立与调试终端之间的ADB连接,进而实现Android设备与调试终端之间的ADB远程连接。
本实施例的技术方案中,Android设备构建第一虚拟代理客户端,与守护进程建立连接,构建第二虚拟代理客户端,通过局域网与服务器建立连接,实现了Android设备的守护进程与服务器之间的ADB连接。并向服务器发送ADB成功连接信息,以提示服务器建立与调试终端之间的ADB连接,进而实现Android设备与调试终端之间的ADB远程连接。
在上述各实施例的基础上,执行操作S460之后,如图4所示,上述ADB远程连接方法还包括下述操作:
S470、Android设备通过第二虚拟代理客户端,调用外部调试端口,接收服务器通过第二网络发送的过滤后的合法ADB调试指令。
其中,服务器在通过第一网络接收调试终端发送的ADB调试指令后,按照设定过滤规则对ADB调试指令进行过滤,并生成合法ADB调试指令。
S480、Android设备通过第二虚拟代理客户端,将合法ADB调试指令发送至第一虚拟代理客户端。
S490、Android设备通过第一虚拟代理客户端,调用内部调试接口,将合法ADB调试指令发送至守护进程。
当调试终端与Android设备建立ADB远程连接后,调试终端通过第一网络(广域网)发送ADB调试指令,服务器通过第二虚拟代理服务器接收到该ADB调试指令,并依据设定过滤规则对其进行过滤,将过滤后的合法ADB调试指令发送至第一虚拟代理服务器,经第一虚拟代理服务器通过第二网络(局域网)发送至目标Android设备。Android设备通过第二虚拟代理客户端,调用外部调试端口,接收过滤后的合法ADB调试指令,并将该合法ADB调试指令发送至第一虚拟代理客户端,通过第一虚拟代理客户端调用内部调试接口,将合法ADB调试指令发送至守护进行,实现对Android设备的调试。
其中,设定过滤规则指的是对接收到的ADB调试指令进行过滤,在软件层面对ADB调试指令进行监控,并对不合法的ADB调试指令进行拦截。
上述技术方案中,通过对接收到的ADB调试指令进行过滤,拦截不合法的ADB调试指令,实现了对调试终端侧用户的行为管控,保障了Android设备在被调试过程中的安全性。
实施例五
本实施例以上述各实施例为基础,提供了一种优选实施例。如图5所示,PC机530与服务器520通过广域网建立连接,Android设备510与服务器520通过局域网进行连接,在用户通过PC机530对Android设备510进行调试的应用场景下,需在PC机530与Android设备510之间建立跨网段的ADB远程连接。
其中,服务器520会预先构建第一虚拟代理服务器521,第一虚拟代理服务器521会生成一个固定网络地址,并将该固定网络地址暴露于局域网540中。
PC机530通过广域网550向服务器520发送指向Android设备510的第一应用层连接请求,服务器520接收到该第一应用层连接请求后,构建与第一应用层连接请求对应的第二应用层连接请求,并通过局域网540将该第二应用层连接请求发送至Android设备510。Android设备510在接收到第二应用层连接请求时,会主动与服务器520建立ADB连接,首先构建第一虚拟代理客户端512,通过TCP调用本地调试端口,建立守护进程511与第一虚拟代理客户端512之间的ADB连接,再创建第二虚拟代理客户端513,并将第一虚拟代理客户端512与第二虚拟代理客户端513进行绑定,以将二者进行桥接。Android设备510通过第二虚拟代理客户端513,调用外部调试端口,使用服务器520在局域网540中的固定网络地址与服务器520的第一虚拟代理服务器521建立ADB连接,并在与服务器520成功建立ADB连接时,向服务器520发送ADB成功连接信息。至此,服务器520与Android设备510之间实现了ADB连接。
服务器520在通过第一虚拟代理服务器521接收到ADB成功连接信息时,动态构建第二虚拟代理服务器522,并通过第二虚拟代理服务器522生成动态网络地址,将该动态网络地址通过广域网550提供给PC机530。同时,服务器520将第二虚拟代理服务器522与第一虚拟代理服务器521进行绑定,以将二者进行桥接。PC机530使用服务器520在广域网550中的动态网络地址,通过构建ADB客户端以及ADB服务器(基于现有的PC机的ADB连接技术),向服务器520发送调试连接请求,服务器520接收到该调试连接请求,与PC机530建立ADB连接。至此,服务器520与PC机530之间实现了ADB连接,即间接实现了PC机530与Android设备510之间跨网络的ADB远程连接。
值得说明的是,服务器520通过第二虚拟代理服务器522生成动态网络地址,只能提供给一台PC机使用。如需与其他PC机建立ADB连接,仍需通过第二虚拟代理服务器522生成其他的动态网络地址。
当PC机530与Android设备510之间实现了ADB远程连接时,用户可利用PC机530通过广域网550向服务器520发送指向Android设备510的ADB调试指令,服务器520通过第二虚拟代理服务器522接收ADB调试指令,并按照设定过滤规则对所述ADB调试指令进行过滤,并将过滤后的合法ADB调试指令发送至第一虚拟代理服务器521,然后通过第一虚拟代理服务器521将合法ADB调试指令通过局域网540发送至Android设备510。Android设备510通过第二虚拟代理客户端513,调用外部调试端口,接收服务器520通过局域网发送的过滤后的合法ADB调试指令,并将合法ADB调试指令发送至第一虚拟代理客户端512后,调用内部调试接口,将合法ADB调试指令发送至守护进程511,从而实现对Android设备510的调试操作。
实施例六
本实施例提供一种应用于服务器的ADB远程连接装置,适用于跨网段建立调试终端与Android设备之间ADB远程连接的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在服务器中。如图6所示,该ADB远程连接装置具体包括:第一应用层连接请求获取模块610、ADB连接第一建立模块620、第一网络地址生成模块630以及ADB连接第二建立模块640。其中:
第一应用层连接请求获取模块610,用于通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;
ADB连接第一建立模块620,用于根据所述第一应用层连接请求,控制目标Android设备在第二网络中建立守护进程与服务器之间的ADB连接;
第一网络地址生成模块630,用于在接收到目标Android设备发送的ADB成功连接信息时,生成在第一网络中使用的第一网络地址,提供给调试终端;
ADB连接第二建立模块640,用于根据调试终端发送的,基于第一网络地址的调试连接请求,与调试终端建立ADB连接。
本实施例提供的一种应用于服务器的ADB远程连接装置,通过服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;服务器根据第一应用层连接请求,控制目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;服务器在接收到目标Android设备发送的ADB成功连接信息时,生成在第一网络中使用的第一网络地址,提供给调试终端;服务器根据调试终端发送的,基于第一网络地址的调试连接请求,与调试终端建立ADB连接的技术手段,实现了调试终端与目标Android设备之间的跨网段ADB远程连接。由于该方法中不需要额外的路由配置或者端口转发配置,有效降低了建立ADB远程连接的系统成本以及运维成本,提升了目标Android设备接入ADB远程连接以及使用ADB调试Android设备的便利性。除此之外,对于用户的使用感受而言,上述ADB远程连接方法,与使用无线模式中ADB默认自带的远程连接是没有区别的。
具体的,在上述各实施例的基础上,ADB连接第一建立模块620具体包括:第二应用层连接请求构造单元和第二应用层连接请求发送单元。其中,
第二应用层连接请求构造单元,用于构造与第一应用层连接请求对应的第二应用层连接请求;
第二应用层连接请求发送单元,用于通过第二网络将第二应用层连接请求发送至目标Android设备。
其中,目标Android设备在接收到第二应用层连接请求时,根据服务器在第二网络中使用的第二网络地址,建立守护进程与服务器之间的ADB连接,并在ADB连接建立成功时,向服务器发送ADB成功连接信息。
具体的,第一网络为广域网,第二网络为局域网;
第一网络地址为动态网络地址,第二网络地址为固定网络地址。
具体的,上述ADB远程连接装置,还包括:
第二网络地址生成模块,用于在构造与第一应用层连接请求对应的第二应用层连接请求之前,通过预先构建的第一虚拟代理服务器,生成第二网络地址,并将第二网络地址暴露于第二网络中,以使目标Android设备根据服务器在第二网络中使用的第二网络地址,建立守护进程与服务器之间的ADB连接。
第一网络地址生成模块630,具体包括:第二虚拟代理服务器构建单元、第一网络地址生成单元和虚拟代理服务器桥接单元。其中,
第二虚拟代理服务器构建单元,用于在通过第一虚拟代理服务器接收到ADB成功连接信息时,动态构建第二虚拟代理服务器;
第一网络地址生成单元,用于通过第二虚拟代理服务器生成第一网络地址,并将第一网络地址提供给调试终端;
虚拟代理服务器桥接单元,用于将第二虚拟代理服务器与第一虚拟代理服务器进行绑定,以将第一虚拟代理服务器与第二虚拟代理服务器进行桥接。
具体的,上述ADB远程连接装置,还包括:
ADB调试指令获取模块,用于通过第二虚拟代理服务器获取调试终端通过第一网络发送的ADB调试指令;
ADB调试指令过滤模块,用于通过第二虚拟代理服务器按照设定过滤规则对ADB调试指令进行过滤,并将过滤后的合法ADB调试指令发送至第一虚拟代理服务器;
合法ADB调试指令发送模块,用于通过第一虚拟代理服务器将合法ADB调试指令通过第二网络发送至目标Android设备。
上述产品可执行本发明任意实施例所提供的应用于服务器的ADB远程连接方法,具备执行方法相应的功能模块和有益效果。
实施例七
本实施例提供一种应用于Android设备的ADB远程连接装置,适用于跨网段建立调试终端与Android设备之间ADB远程连接的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在Android设备中。如图7所示,该ADB远程连接装置具体包括:ADB连接建立模块710和成功连接信息发送模块720。其中:
ADB连接建立模块710,用于在第二网络中建立守护进程与服务器之间的ADB连接;
其中,服务器在通过第一网络获取调试终端发送的,指向Android设备的第一应用层连接请求后,控制Android设备在第二网络中建立守护进程与自身的ADB连接;
成功连接信息发送模块720,用于在ADB连接建立成功时,向服务器发送ADB成功连接信息。
本实施例提供的一种应用于Android设备的ADB远程连接装置,通过Android设备在第二网络中建立守护进程与服务器之间的ADB连接,其中,服务器在通过第一网络获取调试终端发送的,指向Android设备的第一应用层连接请求后,控制Android设备在第二网络中建立守护进程与自身的ADB连接;Android设备在ADB连接建立成功时,向服务器发送ADB成功连接信息的技术手段,实现了在用户利用调试终端通过广域网向服务器发送ADB连接请求时,Android设备可成功建立其守护进程与服务器之间的ADB连接。
具体的,ADB连接建立模块710具体包括:
ADB连接建立单元,用于在接收到服务器发送的第二应用层连接请求时,根据服务器在第二网络中使用的第二网络地址,建立守护进程与服务器之间的ADB连接;
其中,第二应用层连接请求为服务器根据接收到的第一应用层连接请求构造生成。
其中,第一网络为广域网,第二网络为局域网;
第一网络地址为动态网络地址,第二网络地址为固定网络地址。
具体的,ADB连接建立单元具体包括:
第一虚拟代理客户端构建子单元,用于根据第二应用层连接请求,构建第一虚拟代理客户端;
ADB连接第一建立子单元,用于通过第一虚拟代理客户端,调用本地调试端口,建立与守护进程之间的ADB连接;
第二虚拟代理客户端创建子单元,用于创建第二虚拟代理客户端;
虚拟代理客户端桥接子单元,用于将第一虚拟代理客户端与第二虚拟代理客户端进行绑定,以将第一虚拟代理客户端与第二虚拟代理客户端进行桥接;
ADB连接第二建立子单元,用于通过第二虚拟代理客户端,调用外部调试端口,使用服务器在第二网络中的第二网络地址与服务器建立ADB连接。
具体的,上述ADB远程连接装置,还包括:
合法ADB调试指令接收模块,用于在向服务器发送ADB成功连接信息之后,通过第二虚拟代理客户端,调用外部调试端口,接收服务器通过第二网络发送的过滤后的合法ADB调试指令。
其中,服务器在通过第一网络接收所述调试终端发送的ADB调试指令后,按照设定过滤规则对ADB调试指令进行过滤,并生成合法ADB调试指令。
合法ADB调试指令第一发送模块,用于通过第二虚拟代理客户端,将所述合法ADB调试指令发送至第一虚拟代理客户端;
合法ADB调试指令第二发送模块,用于通过第一虚拟代理客户端,调用内部调试接口,将合法ADB调试指令发送至守护进程。
上述产品可执行本发明任意实施例所提供的应用于Android设备的ADB远程连接方法,具备执行方法相应的功能模块和有益效果。
实施例八
图8示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图8显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图8中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供应用于服务器的ADB远程连接方法。也即,所述处理单元执行所述程序时实现:服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;所述服务器根据所述第一应用层连接请求,控制所述目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;所述服务器在接收到所述目标Android设备发送的ADB成功连接信息时,生成在所述第一网络中使用的第一网络地址,提供给所述调试终端;所述服务器根据所述调试终端发送的,基于所述第一网络地址的调试连接请求,与所述调试终端建立ADB连接。
又例如实现本发明实施例所提供应用于Android设备的ADB远程连接方法。也即,所述处理单元执行所述程序时实现:Android设备在第二网络中建立守护进程与服务器之间的ADB连接;其中,所述服务器在通过第一网络获取调试终端发送的,指向所述Android设备的第一应用层连接请求后,控制所述Android设备在所述第二网络中建立守护进程与自身的ADB连接;所述Android设备在ADB连接建立成功时,向所述服务器发送ADB成功连接信息。
实施例九
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的应用于服务器的ADB远程连接方法。也即,该程序被处理器执行时实现:服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;所述服务器根据所述第一应用层连接请求,控制所述目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;所述服务器在接收到所述目标Android设备发送的ADB成功连接信息时,生成在所述第一网络中使用的第一网络地址,提供给所述调试终端;所述服务器根据所述调试终端发送的,基于所述第一网络地址的调试连接请求,与所述调试终端建立ADB连接。
或者,实现如本申请所有发明实施例提供的应用于Android设备的ADB远程连接方法。也即,该程序被处理器执行时实现:Android设备在第二网络中建立守护进程与服务器之间的ADB连接;其中,所述服务器在通过第一网络获取调试终端发送的,指向所述Android设备的第一应用层连接请求后,控制所述Android设备在所述第二网络中建立守护进程与自身的ADB连接;所述Android设备在ADB连接建立成功时,向所述服务器发送ADB成功连接信息。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (16)

1.一种ADB远程连接方法,其特征在于,包括:
服务器通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;
所述服务器根据所述第一应用层连接请求,控制所述目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;
所述服务器在接收到所述目标Android设备发送的ADB成功连接信息时,生成在所述第一网络中使用的第一网络地址,提供给所述调试终端;
所述服务器根据所述调试终端发送的,基于所述第一网络地址的调试连接请求,与所述调试终端建立ADB连接。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述第一应用层连接请求,控制所述目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接,包括:
所述服务器构造与所述第一应用层连接请求对应的第二应用层连接请求;
所述服务器通过所述第二网络将所述第二应用层连接请求发送至所述目标Android设备;
其中,所述目标Android设备在接收到所述第二应用层连接请求时,根据所述服务器在所述第二网络中使用的第二网络地址,建立守护进程与所述服务器之间的ADB连接,并在ADB连接建立成功时,向所述服务器发送所述ADB成功连接信息。
3.根据权利要求2所述的方法,其特征在于,所述第一网络为广域网,所述第二网络为局域网;
所述第一网络地址为动态网络地址,所述第二网络地址为固定网络地址。
4.根据权利要求2所述的方法,其特征在于,在所述服务器构造与所述第一应用层连接请求对应的第二应用层连接请求之前,还包括:
所述服务器通过预先构建的第一虚拟代理服务器,生成所述第二网络地址,并将所述第二网络地址暴露于所述第二网络中,以使所述目标Android设备根据所述服务器在所述第二网络中使用的所述第二网络地址,建立守护进程与所述服务器之间的ADB连接;
所述服务器在接收到所述目标Android设备发送的ADB成功连接信息时,生成在所述第一网络中使用的第一网络地址,提供给所述调试终端,包括:
所述服务器在通过所述第一虚拟代理服务器接收到所述ADB成功连接信息时,动态构建第二虚拟代理服务器;
所述服务器通过所述第二虚拟代理服务器生成所述第一网络地址,并将所述第一网络地址提供给所述调试终端;
所述服务器将所述第二虚拟代理服务器与所述第一虚拟代理服务器进行绑定,以将所述第一虚拟代理服务器与所述第二虚拟代理服务器进行桥接。
5.根据权利要求4所述的方法,其特征在于,在所述服务器根据所述调试终端发送的,基于所述第一网络地址的调试连接请求,与所述调试终端建立ADB连接之后,还包括:
所述服务器通过所述第二虚拟代理服务器获取所述调试终端通过所述第一网络发送的ADB调试指令;
所述服务器通过所述第二虚拟代理服务器按照设定过滤规则对所述ADB调试指令进行过滤,并将过滤后的合法ADB调试指令发送至所述第一虚拟代理服务器;
所述服务器通过所述第一虚拟代理服务器将所述合法ADB调试指令通过所述第二网络发送至所述目标Android设备。
6.一种ADB远程连接方法,其特征在于,包括:
Android设备在第二网络中建立守护进程与服务器之间的ADB连接;
其中,所述服务器在通过第一网络获取调试终端发送的,指向所述Android设备的第一应用层连接请求后,控制所述Android设备在所述第二网络中建立守护进程与自身的ADB连接;
所述Android设备在ADB连接建立成功时,向所述服务器发送ADB成功连接信息。
7.根据权利要求6所述的方法,其特征在于,Android设备在第二网络中建立守护进程与服务器之间的ADB连接,包括:
所述Android设备在接收到所述服务器发送的第二应用层连接请求时,根据所述服务器在所述第二网络中使用的第二网络地址,建立守护进程与所述服务器之间的ADB连接;
其中,所述第二应用层连接请求为所述服务器根据接收到的所述第一应用层连接请求构造生成。
8.根据权利要求7所述的方法,其特征在于,所述第一网络为广域网,所述第二网络为局域网;
所述第一网络地址为动态网络地址,所述第二网络地址为固定网络地址。
9.根据权利要求8所述的方法,其特征在于,所述Android设备根据所述服务器在所述第二网络中使用的第二网络地址,建立守护进程与所述服务器之间的ADB连接,包括:
所述Android设备根据所述第二应用层连接请求,构建第一虚拟代理客户端;
所述Android设备通过所述第一虚拟代理客户端,调用本地调试端口,建立与所述守护进程之间的ADB连接;
所述Android设备创建第二虚拟代理客户端;
所述Android设备将所述第一虚拟代理客户端与所述第二虚拟代理客户端进行绑定,以将所述第一虚拟代理客户端与所述第二虚拟代理客户端进行桥接;
所述Android设备通过所述第二虚拟代理客户端,调用外部调试端口,使用所述服务器在所述第二网络中的所述第二网络地址与所述服务器建立ADB连接。
10.根据权利要求9所述的方法,其特征在于,在所述Android设备向所述服务器发送ADB成功连接信息之后,还包括:
所述Android设备通过所述第二虚拟代理客户端,调用所述外部调试端口,接收所述服务器通过所述第二网络发送的过滤后的合法ADB调试指令;
其中,所述服务器在通过所述第一网络接收所述调试终端发送的ADB调试指令后,按照设定过滤规则对所述ADB调试指令进行过滤,并生成所述合法ADB调试指令;
所述Android设备通过所述第二虚拟代理客户端,将所述合法ADB调试指令发送至所述第一虚拟代理客户端;
所述Android设备通过所述第一虚拟代理客户端,调用内部调试接口,将所述合法ADB调试指令发送至所述守护进程。
11.一种ADB远程连接装置,应用于服务器中,其特征在于,包括:
第一应用层连接请求获取模块,用于通过第一网络获取调试终端发送的,指向目标Android设备的第一应用层连接请求;
ADB连接第一建立模块,用于根据所述第一应用层连接请求,控制所述目标Android设备在第二网络中建立守护进程与所述服务器之间的ADB连接;
第一网络地址生成模块,用于在接收到所述目标Android设备发送的ADB成功连接信息时,生成在所述第一网络中使用的第一网络地址,提供给所述调试终端;
ADB连接第二建立模块,用于根据所述调试终端发送的,基于所述第一网络地址的调试连接请求,与所述调试终端建立ADB连接。
12.一种ADB远程连接装置,应用于Android设备中,其特征在于,包括:
ADB连接建立模块,用于在第二网络中建立守护进程与服务器之间的ADB连接;
其中,所述服务器在通过第一网络获取调试终端发送的,指向所述Android设备的第一应用层连接请求后,控制所述Android设备在所述第二网络中建立守护进程与自身的ADB连接;
成功连接信息发送模块,用于在ADB连接建立成功时,向所述服务器发送ADB成功连接信息。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一所述的ADB远程连接方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的ADB远程连接方法。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求6-10中任一所述的ADB远程连接方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求6-10中任一所述的ADB远程连接方法。
CN201710670329.2A 2017-08-08 2017-08-08 Adb远程连接方法、装置、设备及存储介质 Active CN107463499B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710670329.2A CN107463499B (zh) 2017-08-08 2017-08-08 Adb远程连接方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710670329.2A CN107463499B (zh) 2017-08-08 2017-08-08 Adb远程连接方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN107463499A CN107463499A (zh) 2017-12-12
CN107463499B true CN107463499B (zh) 2020-10-13

Family

ID=60547508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710670329.2A Active CN107463499B (zh) 2017-08-08 2017-08-08 Adb远程连接方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN107463499B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769169B (zh) * 2018-05-18 2021-07-06 南瑞集团有限公司 电力系统测控装置的远程故障诊断方法
US11042398B2 (en) 2018-07-09 2021-06-22 Samsung Electronics Co., Ltd. System and method for guest operating system using containers
CN109189629B (zh) * 2018-08-14 2022-04-12 福建天泉教育科技有限公司 基于usb设备实现终端远程控制的方法、存储介质
CN111382048B (zh) * 2018-12-28 2023-10-20 三六零科技集团有限公司 真机测试平台上移动设备的管理方法和装置
CN109831496B (zh) * 2019-01-22 2021-06-15 卢建超 一种终端数据的调试方法
CN111629016A (zh) * 2019-02-28 2020-09-04 阿里巴巴集团控股有限公司 控制方法、装置及系统
CN110086889B (zh) * 2019-05-16 2022-02-18 北京字节跳动网络技术有限公司 终端设备调试方法及设备
CN110311970B (zh) * 2019-06-27 2022-05-10 乐安县云智易联科技有限公司 一种远程调试系统及其方法
WO2021003694A1 (en) * 2019-07-10 2021-01-14 Micro Focus Llc Device debugging connection control and maintenance
CN111866083A (zh) * 2020-06-23 2020-10-30 北京三快在线科技有限公司 设备调试系统、方法、待调试设备、远程调试设备及中转服务器
CN114006847B (zh) * 2020-07-14 2023-07-07 成都鼎桥通信技术有限公司 一种专网终端的自动化测试方法
CN111770212A (zh) * 2020-07-16 2020-10-13 广州视源电子科技股份有限公司 网络接入方法和装置、计算机设备
CN112187869A (zh) * 2020-09-03 2021-01-05 京东数字科技控股股份有限公司 Iot设备的远程调试系统、方法、电子设备及存储介质
CN112583893B (zh) * 2020-11-19 2024-04-30 银捷尼科(福建)科技有限公司 一种Android终端统一通道通信方法及终端
CN113194017B (zh) * 2021-04-08 2022-08-16 广州极飞科技股份有限公司 设备通信控制方法、装置、设备、系统和存储介质
CN113535325A (zh) * 2021-06-29 2021-10-22 惠州华阳通用电子有限公司 一种基于虚拟网卡的双系统调试方法
CN114461289A (zh) * 2022-02-21 2022-05-10 重庆长安汽车股份有限公司 一种远程开启车载信息娱乐系统adb工具的方法及系统
CN114615253A (zh) * 2022-03-25 2022-06-10 浙江新再灵科技股份有限公司 电梯智能屏远程调试系统及方法
CN116132490A (zh) * 2023-01-13 2023-05-16 支付宝(杭州)信息技术有限公司 设备的远程调试方法、装置以及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856361A (zh) * 2012-11-29 2014-06-11 腾讯科技(深圳)有限公司 实现远程调试的方法及系统
CN105141484A (zh) * 2015-10-12 2015-12-09 天津市普迅电力信息技术有限公司 基于云服务器的安卓设备远程调试方法
WO2016095686A1 (zh) * 2014-12-19 2016-06-23 北京奇虎科技有限公司 浏览器与移动终端之间进行通信的方法及浏览器装置
CN106250455A (zh) * 2016-07-27 2016-12-21 北京奇虎科技有限公司 移动终端文件管理方法和系统
CN106534342A (zh) * 2016-12-07 2017-03-22 腾讯科技(深圳)有限公司 连接控制方法、主机及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856361A (zh) * 2012-11-29 2014-06-11 腾讯科技(深圳)有限公司 实现远程调试的方法及系统
WO2016095686A1 (zh) * 2014-12-19 2016-06-23 北京奇虎科技有限公司 浏览器与移动终端之间进行通信的方法及浏览器装置
CN105141484A (zh) * 2015-10-12 2015-12-09 天津市普迅电力信息技术有限公司 基于云服务器的安卓设备远程调试方法
CN106250455A (zh) * 2016-07-27 2016-12-21 北京奇虎科技有限公司 移动终端文件管理方法和系统
CN106534342A (zh) * 2016-12-07 2017-03-22 腾讯科技(深圳)有限公司 连接控制方法、主机及系统

Also Published As

Publication number Publication date
CN107463499A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN107463499B (zh) Adb远程连接方法、装置、设备及存储介质
US9965312B2 (en) Remote debugging as a service
US9542302B2 (en) System and method for remote debugging of an application in an image forming apparatus over a network
KR102110698B1 (ko) 단말기 상호 연결 방법, 장치 및 저장 매체
US9720809B2 (en) Dynamically enabling debugging over the internet
CN104967585B (zh) 一种远程调试移动终端的方法和装置
WO2017124842A1 (zh) 一种截图的方法及装置
US10268566B2 (en) Debugging in a private cloud environment
US9367415B1 (en) System for testing markup language applications on a device
WO2016029792A1 (zh) 硬件设备的调试方法、装置和系统
CN107404418B (zh) 互联网产品测试方法、装置、设备及存储介质
EP3075147B1 (en) Method for remote monitoring, and system for signal capturing and remote monitoring
CN112350861B (zh) 日志获取方法、装置、计算机设备和存储介质
CN107817962B (zh) 一种远程控制方法、装置、控制服务器及存储介质
CN114490383A (zh) 远程调试系统、远程调试方法、计算设备和可读介质
CN110896489B (zh) 一种鉴权方法、装置、设备及存储介质
CN113709243B (zh) 设备远程控制方法及装置、电子设备和存储介质
CN108845946B (zh) 一种终端、调试系统以及终端调试方法
CN114546676A (zh) 云桌面文件拷贝方法、装置和设备
CN106878333B (zh) 一种第三方认证方法、装置和应用系统服务器
JP2007221364A (ja) コントローラ、制御システム及び制御装置の拡張方法
WO2014000299A1 (zh) 串口重定向处理方法、设备和系统
CN105407150A (zh) 应用程序远程控制方法
CN114696888B (zh) 卫星测运控系统的端口任务处理方法、装置、设备及介质
CN111708568B (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