CN108614767A - 一种远程调试方法及装置 - Google Patents

一种远程调试方法及装置 Download PDF

Info

Publication number
CN108614767A
CN108614767A CN201611146675.2A CN201611146675A CN108614767A CN 108614767 A CN108614767 A CN 108614767A CN 201611146675 A CN201611146675 A CN 201611146675A CN 108614767 A CN108614767 A CN 108614767A
Authority
CN
China
Prior art keywords
debugging
kernel
webpage view
host
destination application
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.)
Pending
Application number
CN201611146675.2A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201611146675.2A priority Critical patent/CN108614767A/zh
Priority to PCT/CN2017/115342 priority patent/WO2018108041A1/zh
Publication of CN108614767A publication Critical patent/CN108614767A/zh
Pending legal-status Critical Current

Links

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/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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

Abstract

本发明实施例公开了一种远程调试方法,包括:建立与调试主机之间的ADB连接;接收ADB检测指令,根据所述ADB检测指令确定待调试的目标应用程序;下载并安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核;通过所述目标网页视图调试内核开启所述目标应用程序的调试开关,解析所述目标应用程序中展示的网页视图,并通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试。采用本发明,可提高在调试过程中网页视图的真实运行环境的还原程度,提高问题定位的准确率和有效性。

Description

一种远程调试方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种远程调试方法及装置。
背景技术
所谓远程调试(Remote Debugging),就是通过运行在A机器上的调试客户端去调试一个运行在远程B机器上的应用程序,例如,通过运行在个人电脑(Personal Computer,PC)上的调试客户端去调试一个运行在移动终端(例如智能手机)上的应用程序。
现有技术中提供的一种调试方法是使用谷歌开发者工具(Chrome Dev Tools)来对移动终端上的应用程序进行调试。具体的,在进行调试的过程中,智能手机等移动终端上和PC上均需要安装谷歌浏览器,并且在调试的过程中只能用谷歌浏览器来访问页面。也就是说,在调试的过程中,网页视图(即webview页面)的显示和渲染都是通过谷歌浏览器来实现的,并且,对于还需要使用webkit内核才能实现对网页视图的加载;而在实际的应用中,并不是所有的网页视图都是通过谷歌浏览器来访问页面的,这就使得在调试的过程中,并不能真实的还原页面在移动终端上应用程序的实际的运行场景。也就是说,在谷歌浏览器下的网页视图的显示和渲染的具体效果和问题与该网页视图在移动终端上相应的应用程序中的运行效果和问题是不一样的或者存在一定的差异,对于开发者来讲,无法真实还原调试的应用程序以及相应的网页视图的真实的宿主环境导致了开发者难以在开发和调试的过程中快速、准确的定位问题。
也就是说,在现有技术中的进行远程调试的方法因为无法真实还原移动终端上应用程序的真实的运行环境而存在无法准确的对出现的问题进行定位。
发明内容
基于此,为解决传统技术中的进行远程调试的方法因为无法真实还原移动终端上应用程序的真实的宿主环境而存在无法准确的对出现的问题进行定位的技术问题,在本发明的第一方面,提出了一种远程调试方法。
一种远程调试方法,包括:
建立与调试主机之间的ADB连接;
接收ADB检测指令,根据所述ADB检测指令确定待调试的目标应用程序;
下载并安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核;
通过所述目标网页视图调试内核开启所述目标应用程序的调试开关,解析所述目标应用程序中展示的网页视图,并通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试。
可选的,在一个实施例中,所述建立与调试主机之间的ADB连接还包括:
检测USB端口连接的调试主机,通过所述USB端口与所述调试主机建立所述ADB连接。
可选的,在一个实施例中,所述下载并安装预设的目标网页视图调试内核之前还包括:
判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口,若是,则执行下载并安装预设的目标网页视图调试内核。
可选的,在一个实施例中,所述判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口之后还包括:
在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,判断所述目标应用程序是否包含扫码打开页面功能,若包含,则通过扫描二维码打开与所述目标应用程序的调试开关开启的操作页面,获取通过所述操作页面输入的确认指令,根据所述确认指令开启所述目标应用程序的调试开关。
可选的,在一个实施例中,所述下载并安装预设的目标网页视图调试内核之前还包括:
判断所述目标应用程序是否包括已安装网页视图调试内核;
若所述目标应用程序包括所述已安装网页视图调试内核,则获取所述已安装网页视图调试内核作为目标网页视图调试内核,并执行所述通过所述网页视图调试内核开启所述目标应用程序的调试开关;
若所述目标应用程序未包括所述已安装网页视图调试内核,则执行所述下载并安装预设的网页视图调试内核。
可选的,在一个实施例中,所述判断所述目标应用程序是否包括已安装网页视图调试内核之后还包括:
在所述目标应用程序包括已安装网页视图调试内核时,确定与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号;
在与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号时,获取所述已安装网页视图调试内核作为所述目标网页视图调试内核,并执行所述通过所述目标网页视图调试内核开启所述目标应用程序的调试开关的步骤;
在与所述已安装网页视图调试内核对应的版本号低于所述目标网页视图调试内核对应的版本号时,执行所述下载并安装预设的目标网页视图调试内核。
可选的,在一个实施例中,所述下载并安装预设的目标网页视图调试内核还包括:
下载并安装预设的与所述调试主机的桌面调试工具对应的调试工具客户端,所述调试工具客户端包括所述预设的目标网页视图调试内核。
在本发明的第二方面,提出了一种远程调试装置。
一种远程调试装置,包括:
ADB连接建立模块,用于建立与调试主机之间的ADB连接;
目标应用程序确定模块,用于接收ADB检测指令,根据所述ADB检测指令确定待调试的目标应用程序;
webview调试内核安装模块,用于下载并安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核;
调试开关开启模块,用于通过所述目标网页视图调试内核开启所述目标应用程序的调试开关;
调试数据发送模块,用于解析所述目标应用程序中展示的网页视图,并通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试。
可选的,在一个实施例中,所述ADB连接建立模块还用于检测USB端口连接的调试主机,通过所述USB端口与所述调试主机建立所述ADB连接。
可选的,在一个实施例中,所述装置还包括第一判断模块,用于判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口,在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,调用所述网页视图调试内核安装模块。
可选的,在一个实施例中,所述调试开关开启模块还用于在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,判断所述目标应用程序是否包含扫码打开页面功能,若包含,则通过扫描二维码打开与所述目标应用程序的调试开关开启的操作页面,获取通过所述操作页面输入的确认指令,根据所述确认指令开启所述目标应用程序的调试开关。
可选的,在一个实施例中,所述装置还包括第二判断模块,用于判断所述目标应用程序是否包括已安装网页视图调试内核;若所述目标应用程序包括所述已安装网页视图调试内核,则获取所述已安装网页视图调试内核作为目标网页视图调试内核,并调用所述调试开关开启模块;若所述目标应用程序未包括所述已安装网页视图调试内核,调用所述网页视图调试内核安装模块。
可选的,在一个实施例中,所述网页视图调试内核安装模块还用于在所述目标应用程序包括已安装网页视图调试内核时,确定与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号;在与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号时,获取所述已安装网页视图调试内核作为所述目标网页视图调试内核,调用所述调试开关开启模块;在与所述已安装网页视图调试内核对应的版本号低于所述目标网页视图调试内核对应的版本号时,调用所述网页视图调试内核安装模块。
可选的,在一个实施例中,所述网页视图调试内核安装模块还用于下载并安装预设的与所述调试主机的桌面调试工具对应的调试工具客户端,所述调试工具客户端包括所述预设的目标网页视图调试内核。
在本发明的第三方面,提出了一种远程调试方法。
一种远程调试方法,包括:
建立与调试宿主机之间的ADB连接;
发送ADB检测指令给所述调试宿主机,以使所述调试宿主机确定手机上运行的目标应用程序,所述调试宿主机还用于在所述手机上安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核,通过所述网页视图调试内核解析所述目标应用程序的网页视图中展示的网页;
接收所述调试宿主机经由所述ADB连接发送的通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据,对所述接收的调试数据进行调试。
可选的,在一个实施例中,所述建立与调试宿主机之间的ADB连接还包括:
检测USB端口连接的调试宿主机,与所述调试宿主机通过USB建立ADB连接。
在本发明的第四方面,提出了一种远程调试装置。
一种远程调试装置,包括:
ADB连接建立模块,用于建立与调试宿主机之间的ADB连接;
ADB检测指令发送模块,用于发送ADB检测指令给所述调试宿主机,以使所述调试宿主机确定手机上运行的目标应用程序,所述调试宿主机还用于在所述手机上安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核,通过所述网页视图调试内核解析所述目标应用程序的网页视图中展示的网页;
调试模块,用于接收所述调试宿主机经由所述ADB连接发送的通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据,对所述接收的调试数据进行调试。
可选的,在一个实施例中,所述ADB连接建立模块还用于检测USB端口连接的调试宿主机,与所述调试宿主机通过USB建立ADB连接。
实施本发明实施例,将具有如下有益效果:
采用了上述远程调试方法和装置之后,在调试主机与调试宿主机之间建立ADB连接,并通过ADB指令确定在调试宿主机上的待调试的目标应用程序之后,在调试宿主机上下载并安装包含了webkit内核的预设的网页视图调试内核,然后通过该网页视图调试内核来开启目标应用程序的调试开关,从而使得调试主机的桌面调试工具可以对调试宿主机的目标应用程序上展示的网页视图进行调试。也就是说,通过安装网页视图调试内核来触发目标应用程序的调试开关,从而使得所有实现了与网页视图调试内核对应的调试接口的应用程序都可以通过调试主机的桌面调试工具进行调试;并且,因为目标应用程序为实现了与网页视图调试内核对应的调试接口的应用程序,因此,其本身在对网页视图进行解析并展示的过程中是通过网页视图调试内核实现的,而在通过上述远程调试方法进行调试的过程中,网页视图的展示也是通过网页视图调试内核实现的,这就使得调试的网页视图在实际使用过程中的真实运行环境与在调试过程中的宿主环境是一致的,最大程度的在调试的过程中还原网页视图的真实运行环境,使得开发者在调试的过程中能准确的对出现的问题进行定位,提高效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中一种远程调试系统的组成示意图;
图2为一个实施例中调试主机上的桌面调试工具的界面示意图;
图3为一个实施例中一种远程调试过程的交互示意图;
图4为一个实施例中一种运行于调试主机上的远程调试方法的流程示意图;
图5为一个实施例中一种运行于调试宿主机上的远程调试方法的流程示意图;
图6为一个实施例目标应用程序的确认页面的界面示意图;
图7为一个实施例调试开关开启的确认页面的界面示意图;
图8为一个实施例中一种远程调试方法的流程示意图;
图9为一个实施例中远程调试过程的组件之间的交互过程的交互示意图;
图10为一个实施例中基于调试主机的远程调试装置的结构示意图;
图11为一个实施例中基于调试宿主机的远程调试装置的结构示意图;
图12为一个实施例中运行上述远程调试方法的计算机系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决传统技术中的进行远程调试的方法因为无法真实还原移动终端上应用程序的真实的宿主环境而存在无法准确的对出现的问题进行定位的技术问题,在本实施例中,提出了一种远程调试系统。
参考图1,图1给出了一种远程调试系统的组成结构图,具体的,该远程调试系统包括了调试主机10和调试宿主机20。其中,调试主机10可以是安装了调试工具的计算机设备,例如,安装了桌面调试工具的个人电脑(Personal Computer,PC),也可以是安装了调试工具的例如服务器、多处理器系统、小型计算机、大型计算机以及包括任一上述系统或设备的分布式计算环境等计算机设备。进一步的,调试宿主机20是进行调试的目标机,如智能手机、平板电脑或者其他移动终端设备。
在一个实施例中,上述安装于调试主机10上的桌面调试工具可以是TBS Studio(TBS,即Tencent Browsing Service,中文:腾讯浏览服务,TBS Studio即为TBS桌面调试工具),用户可以在相应的下载网站下载该TBS桌面调试工具对应的API文件,并且该桌面调试工具不需要在调试主机上进行安装即可运行和对与调试主机10连接的调试宿主机20上的相应的APP上的程序进行调试。在图2中展示了调试主机10上的桌面调试工具(TBS Studio)的操作界面。
在本实施例中,提出了一种远程调试机制,如图3所示,图3展示了该远程调试机制的调试主机10与调试宿主机20之间的交互过程,该机制包括了运行于调试主机10上的远程调试方法以及运行于调试宿主机20上的远程调试方法。具体的,可如图4和图5所示,图4展示了运行于调试主机10上的远程调试方法,图5展示了运行于上述调试宿主机20上的远程调试方法。
具体实施中,在调试主机与调试宿主机之间可以是通过USB(Universal SerialBus,通用串行总线)数据线进行连接,也可以是通过其他方式进行连接,例如,通过WIFI连接。具体实施中,例如,在调试主机与调试宿主机的连接是通过USB建立的情况下,调试宿主机和调试主机之间通过对USB端口的检测建立调试主机与调试宿主机之间的通讯连接,并确定在调试宿主机上运行的待调试的目标应用程序,然后在调试宿主机上安装相应的调试内核以使调试宿主机上的目标应用程序的网页视图空间(即webview控件,Android系统中用于显示网页的控件,用户直接显示和渲染网页视图)中展示的网页数据进行调试。
下面针对上述运行于调试宿主机的远程调试的方法的具体过程分步骤进行详细阐述,参考图5,的步骤S202至步骤S208。
步骤S202:建立与调试主机之间的ADB连接。
在本实施例中,调试宿主机与调试主机之间的连接可以是通过USB建立的,也可以是通过WIFI建立的。
例如,在通过WIFI建立调试主机与调试宿主机的情况下,在调试宿主机对应的Android设备上安装一个超级终端,并在终端里运行相应的ADB连接建立的代码,然后,在调试主机端打开cmd命令行,输入:adb connect android设备IP地址,即可建立调试主机与调试宿主机之间的ADB连接。
具体的,上述建立与调试主机之间的ADB连接的步骤具体为:调试宿主机检测USB端口连接的调试主机,与所述调试主机通过USB建立ADB连接。
在本实施例中,调试宿主机与调试主机之间的通讯连接可以是通过USB端口建立的,也就是说,在用USB数据线将调试主机和调试宿主机连接起来之后,调试宿主机通过相应的USB端口检测到相应的USB连接,并检测与调试宿主机之间通过USB数据线连接的调试主机,并通过调试主机上的USB端调试宿主机上的USB端口以及连接二者的USB数据线,建立与该连接的调试主机之间的通讯连接。
需要说明的是,在本实施例中,调试主机与调试宿主机之间的通讯连接为ADB连接。ADB,即Android Debug Bridge(安卓调试桥接),是Android SDK(Androidsoftwaredevelopment kit,安卓系统专属的软件开发工具包)中的一个工具,使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。调试主机与调试宿主机之间的ADB连接即建立调试宿主机中的ADB与调试主机上的调试工具之间的通讯连接,使得调试主机可以发送相应的ADB指令给调试宿主机。在调试主机与调试宿主机之间的ADB连接建立之后,调试主机即可向调试宿主机发送ADB指令对调试宿主机进行调试。
具体的,调试主机向调试宿主机发送的ADB指令包括adb devices、adb uninstall<软件名>等,通过ADB指令可以实现的功能包括在Android设备上运行Shell(命令行)、管理模拟器或设备的端口映射、在计算机和设备之间上传/下载文件、将电脑上的本地APK软件安装至Android模拟器或设备上等。
步骤S204:接收ADB检测指令,根据所述ADB检测指令确定待调试的目标应用程序。
在本实施例中,在需要确定调试宿主机上当前正在运行的应用程序时,可以通过调试主机向调试宿主机发送ADB指令来实现。
具体的,调试主机向调试宿主机发送ADB检测指令,用于确定在调试宿主机上运行的应用程序,在调试宿主机上运行的应用程序即为当前调试的待调试的目标应用程序。
需要说明的是,在本实施例中,待调试的目标应用程序可以是在调试宿主机上当前正在运行的应用程序;例如,在调试宿主机为智能手机时,若手机的显示屏上当前显示的操作页面是与“微信”对应的操作页面,则当前在手机上运行的目标应用程序为“微信”,也即为待调试的目标应用程序。
在本实施例中,若开发者当前需要调试的应用程序不是调试宿主机上的显示界面所对应的运行应用程序,而是其他应用程序,则需要该开发者手动的选择需要调试的应用程序,并根据用户的选择操作将该被选择的应用程序设置为待调试的目标应用程序,或者,重新接收调试主机发送的ADB检测指令来重新确定目标应用程序。
例如,在本实施例中,在调试宿主机为智能手机时,若手机的显示屏上当前显示的操作页面是与“QQ音乐”对应的操作页面,则当前在手机上运行的目标应用程序为“QQ音乐”。在调试的过程中,在作为调试主机(PC端)通过ADB检测指令确定了当前在手机的显示界面上运行的应用程序为“QQ音乐”之后并展示如图6所示的提示窗口之后,开发者确定“QQ音乐”是当前需要进行调试的应用程序,即点击“确认”按钮,从而将“QQ音乐”作为当前调试的目标应用程序;进一步的,若开发者确定“QQ音乐”并不是其当前需要进行调试的应用程序,则针对展示的提示窗口输入与按钮“取消”对应的指令,并且在手机上手动的切换至需要调试的应用程序对应的操作页面,以使PC端在再次通过ADB指令确定待检测的目标应用程序时确定待检测的目标应用程序。
步骤S206:下载并安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核。
webkit内核是一种浏览器内核,在终端上的浏览器中页面的渲染以及在应用程序中的网页视图(webview页面)的渲染都需要通过浏览器内核来进行。一般来讲,在终端中安装的应用程序没有内置内核的情况下,默认使用系统内核来渲染网页视图。
在调试宿主机建立了与调试主机之间的ADB连接之后,在对调试宿主机上的应用程序这种的网页视图进行调试的过程中,对于网页视图的渲染需要使用到内核来解析网页元素,而在Android系统中,系统内核是不支持远程调试的。而在常用的调试工具中(例如谷歌调试工具),是使用谷歌浏览器中内置的webkit内核来解析网页视图的,也就是说,所有的网页视图的渲染都是基于谷歌浏览器的;而在调试宿主机中真实的运行环境中,大部分应用程序都不是基于谷歌浏览器来开发的,也就是说,其中网页视图的渲染并不是通过谷歌浏览器来完成的。
而在本实施例中,网页视图调试内核为包含有解析网页元素的webkit内核,即时基于wekit内核开发的内核,该网页视图调试内核继承了webkit内核的所有的功能。在一个具体的实施例中,上述网页视图调试内核可以是TBS内核,即腾讯浏览服务中基于webkit内核开发的内核。
需要说明的是,在本实施例中,在下载并安装预设的目标网页视图调试内核之前,还需要对目标应用程序是否支持调试进行判断。具体的,所述下载并安装预设的目标网页视图调试内核之前还包括:判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口,若是,则执行下载并安装预设的目标网页视图调试内核。
在本实施例中,对于某一个应用程序来说,若其未实现与目标网页视图调试内核对应的调试接口,则不能使用调试主机上的桌面调试工具进行调试,即不适用于本发明实施例的调试方法;若该应用程序实现了与目标网页视图调试内核对应的调试接口,则可使用调试主机上的桌面调试工具进行调试。
对于实现了与网页视图调试内核对应的调试接口的应用程序来讲,主要分为两种情况,一为该应用程序本身内置了网页视图调试内核,并且在加载网页视图时使用该内置的网页视图调试内核进行加载;二是,该应用程序本身并未内置网页视图调试内核,但是在加载网页视图的过程中是调用终端中其他应用程序内置的网页视图调试内核来实现的。真是上述任意一种情况,其网页视图的展示都是通过网页视图调试内核实现。
需要说明的是,若在调试宿主机中安装的应用程序中包括了接入了TBS内核的应用程序,例如QQ、QQ音乐、京东商城等,但是对于不同的应用程序接入TBS内核的方式存在差异;具体的,若该应用程序已经内置TBS内核,也就是说,在该应用程序安装之后即静默下载并安装了TBS内核,又或者,该应用程序虽然接入例如TBS内核,但是并不是在安装应用程序成功之后即静默下载TBS内核,而是在访问页面时,查找已经在终端中安装的内置TBS内核的应用程序并使用该TBS内核,若没有查找到TBS内核,则自行下载并安装TBS内核;对于上述两种情况,在终端中都已经下载并安装了TBS内核。
在本实施例中,若需要对待调试的目标应用程序进行调试,则需要在调试宿主机上已经下载并安装了预设的目标网页视图调试内核,该目标网页视图调试内核可以是在之前已经预先下载并安装的,也可以是在确定了待测试的目标应用程序之后下载并安装的,具体可根据待调试的目标应用程序是否已经内置了目标网页视图调试内核或者已经接入了终端中其他应用程序中下载并安装的目标网页视图调试内核。
具体的,在一个可选的实施例中,所述下载并安装预设的目标网页视图调试内核之前还包括:判断所述目标应用程序是否包括已安装网页视图调试内核;若所述目标应用程序包括所述已安装网页视图调试内核,则获取所述已安装网页视图调试内核作为目标网页视图调试内核,并执行所述通过所述网页视图调试内核开启所述目标应用程序的调试开关;若所述目标应用程序未包括所述已安装网页视图调试内核,则执行所述下载并安装预设的网页视图调试内核。
例如,在基于TBS内核开发的微信、QQ、QQ浏览器等应用程序中,在安装了该应用程序之后,即静默下载并安装了TBS内核,也就是说,在步骤S206中,不需要再次下载并安装TBS内核。再例如,在接入例如TBS内核的QQ音乐、滴滴出行、京东商城等应用程序中,应用程序在访问webview页面时,会在手机中查找是否已经安装了内置TBS内核的微信、QQ等应用程序,若应安装,则调用该查找到的TBS内核来访问网页视图,即其TBS内核的使用方式是共享其他内置了TBS内核的应用程序中内置的TBS内核;对于这种情况,在步骤S206中也不需要再次下载并安装TBS内核。进一步的,若在上述在手机中查找是否已经安装了内置TBS内核的微信、QQ等应用程序的步骤中,没有查找到相应的应用程序,则需要执行步骤S206,即下载并安装预设的目标网页视图调试内核。
进一步的,在本实施例中,对于上述在调试主机中已经下载并安装了网页视图调试内核并且在步骤S206中不需要再次进行目标网页视图调试内核的安装的情况,还需要确定当前安装的目标网页视图调试内核是否为最新的版本。
具体的,在上述判断所述目标应用程序是否包括已安装网页视图调试内核步骤之后还包括:在所述目标应用程序包括已安装网页视图调试内核时,确定与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号;在与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号时,获取所述已安装网页视图调试内核作为所述目标网页视图调试内核,并执行所述通过所述目标网页视图调试内核开启所述目标应用程序的调试开关的步骤;在与所述已安装网页视图调试内核对应的版本号低于所述目标网页视图调试内核对应的版本号时,执行所述下载并安装预设的目标网页视图调试内核。
在本实施例中,因为网页视图调试内核的版本是不断更新的,在目标应用程序中包含的网页视图调试内核可能在时当前最新的版本发布之前下载并安装的,因此,其可能并不是最新的版本。在本实施例中,为了避免因为网页视图调试内核的版本而导致调试的过程中出现问题,还需要确定在调试宿主机中安装的网页视图调试内核为最新的版本。
进一步的,在本实施例中,调试宿主机下载目标网页视图调试内核的步骤还可以是通过下载并安装与所述调试主机上的桌面调试工具对应的调试工具客户端完成的,也就是说,在下载并安装上述调试工具客户端的过程中,因为在该调试工具客户端中内置了网页视图调试内核,因此,也就下载并安装了目标网页视图调试内核。例如,在调试主机上桌面调试工具为TBS Studio的情况下,在本步骤中,在调试宿主机上下载并安装的是与TBSStudio对应的客户端,即TBS Studio Client,并将该TBS Studio Client作为调试内核代理应用程序。
步骤S208:通过所述目标网页视图调试内核开启所述目标应用程序的调试开关,解析所述目标应用程序中展示的webview网页,并通过所述目标网页视图调试内核将所述目标应用程序中展示的webview网页的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试。
一般来讲,调试状态并不是调试宿主机的常态,也就是说,在默认情况下,调试宿主机中安装的应用程序时默认未开启调试开关,不能进行调试。在本实施例中,通过目标网页视图调试内核来气目标应用程序的调试开关。在图7中展示了在开启调试开关的确认页面,开发者可以通过该确认页面来确定开启目标应用程序的调试开关。
具体的,在一个实施例中,若目标应用程序为内置TBS内核的应用程序(如微信、QQ等),则可通过访问debugx5.qq.com进行开启调试开关。在另一个实施例中,在调试宿主机下载并安装了TBS Studio Client的情况下,通过该TBS Studio Client开启调试开关。
在开启了目标应用程序的调试开关之后,即可在调试主机上对调试宿主机上目标应用程序中展示的网页视图进行调试,即调试宿主机通过与调试主机之间的ADB连接将展示的网页视图相关的数据发送给调试主机上的桌面调试工具进行调试。
具体的,在调试宿主机上通过目标应用程序展示webview网页时,因为需要调用目标网页视图调试内核来解析与该webview网页对应的代码才能展示该webview网页,因此,在检测到对目标网页视图调试内核的调用时,即执行通过所述目标网页视图调试内核将所述目标应用程序中展示的webview网页的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试的步骤。
在本实施例中,若目标应用程序包括了网页视图调试内核,则不需要下载目标网页视图调试内核,但是,因为在上述开启目标应用程序的调试开关时,需要出发调试开关的开启,在本实施例中,调试开关的开启可以是通过在调试宿主机上下载并安装的调试工作客户端(如TBS Studio Client)完成的。
在另一个实施例中,调试开关的开启还可以是通过其他方式完成的,例如,通过扫描二维码开出发调试开关的开启。
具体的,所述判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口之后还包括:在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,判断所述目标应用程序是否包含扫码打开页面功能,若包含,则通过扫描二维码打开与所述目标应用程序的调试开关开启的操作页面,获取通过所述操作页面输入的确认指令,根据所述确认指令开启所述目标应用程序的调试开关。
例如,对于应用程序“微信”来讲,其支持扫描二维码打开网页或者其他页面;在本实施例中,在确定了调试宿主机中已安装目标网页视图调试内核之后,在调试主机上生成与开启调试开关对应的二维码,开发者可以通过调试宿主机的目标应用程序扫描在调试主机上的二维码进入到与目标应用程序的调试开关开启对应的操作页面,该操作页面可以是调试开关开启的确认页面;然后通过在调试宿主机上展示的调试开关开启的确认页面输入开启调试开关的确认指令来开启目标应用程序的调试开关。
参考图8,在图8中以网页视图调试内核为TBS内核为例,展示了上述远程调试过程的完整的流程示意图。
参考图9,在图9中展示了在上述远程调试的过程中调试主机以及调试宿主机中各个组件之间的交互过程。具体的,以网页视图调试内核为TBS内核为例,在调试宿主机中包含了与目标应用程序的webview组件、ADB deamon组件以及安装的TBS Studio Client,在调试主机中包含了ADB Client、ADB Server、Debug Server、TBS Studio等组件。
此外,为解决传统技术中的进行远程调试的方法因为无法真实还原移动终端上应用程序的真实的宿主环境而存在无法准确的对出现的问题进行定位的技术问题,在本实施例中,如图10所示,还提出了一种远程调试装置,该远程调试装置基于上述远程调试系统的调试主机10。具体的,如图10所示,该装置包括ADB连接建立模块102、ADB检测指令发送模块104以及调试模块106,其中:
ADB连接建立模块102,用于建立与调试宿主机之间的ADB连接;
ADB检测指令发送模块104,用于发送ADB检测指令给所述调试宿主机,以使所述调试宿主机确定手机上运行的目标应用程序,所述调试宿主机还用于在所述手机上安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核,通过所述网页视图调试内核解析所述目标应用程序的网页视图中展示的网页;
调试模块106,用于接收所述调试宿主机经由所述ADB连接发送的通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据,对所述接收的调试数据进行调试。
可选的,在一个实施例中,ADB连接建立模块102还用于检测USB端口连接的调试宿主机,与所述调试宿主机通过USB建立ADB连接。
此外,为为解决传统技术中的进行远程调试的方法因为无法真实还原移动终端上应用程序的真实的宿主环境而存在无法准确的对出现的问题进行定位的技术问题,在本实施例中,如图11所示,还提出了一种远程调试装置,该远程调试装置基于上述远程调试系统的调试宿主机20。具体的,如图11所示,该装置包括ADB连接建立模块202、目标应用程序确定模块204、网页视图调试内核安装模块206、调试开关开启模块208以及调试数据发送模块210,其中:
ADB连接建立模块202,用于检测USB端口连接的调试主机,与所述调试主机通过USB建立ADB连接;
目标应用程序确定模块204,用于建立与调试主机之间的ADB连接;
网页视图调试内核安装模块206,用于下载并安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核;
调试开关开启模块208,用于通过所述目标网页视图调试内核开启所述目标应用程序的调试开关;
调试数据发送模块210,用于解析所述目标应用程序中展示的网页视图,并通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试。
可选的,在一个实施例中,所述ADB连接建立模块202还用于接收ADB检测指令,根据所述ADB检测指令确定待调试的目标应用程序。
可选的,在一个实施例中,如图11所示,上述装置还包括第一判断模块212,用于判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口,在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,调用所述网页视图调试内核安装模块206。
可选的,在一个实施例中,所述调试开关开启模块208还用于在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,判断所述目标应用程序是否包含扫码打开页面功能,若包含,则通过扫描二维码打开与所述目标应用程序的调试开关开启的操作页面,获取通过所述操作页面输入的确认指令,根据所述确认指令开启所述目标应用程序的调试开关。
可选的,在一个实施例中,如图11所示,上述装置还包括第二判断模块214,用于判断所述目标应用程序是否包括已安装网页视图调试内核;若所述目标应用程序包括所述已安装网页视图调试内核,则获取所述已安装网页视图调试内核作为目标网页视图调试内核,并调用所述调试开关开启模块208;若所述目标应用程序未包括所述已安装网页视图调试内核,调用所述网页视图调试内核安装模块206。
可选的,在一个实施例中,所述网页视图调试内核安装模块还用于在所述目标应用程序包括已安装网页视图调试内核时,确定与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号;在与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号时,获取所述已安装网页视图调试内核作为所述目标网页视图调试内核,调用所述调试开关开启模块208;在与所述已安装网页视图调试内核对应的版本号低于所述目标网页视图调试内核对应的版本号时,调用所述网页视图调试内核安装模块206。
可选的,在一个实施例中,所述网页视图调试内核安装模块206还用于下载并安装预设的与所述调试主机的桌面调试工具对应的调试工具客户端,所述调试工具客户端包括所述预设的目标网页视图调试内核。
实施本发明实施例,将具有如下有益效果:
采用了上述远程调试方法和装置之后,调试主机与调试宿主机之间通过USB连接,在通过ADB指令确定在调试宿主机上的待调试的目标应用程序之后,在调试宿主机上下载并安装包含了webkit内核的预设的网页视图调试内核,然后通过该网页视图调试内核来开启目标应用程序的调试开关,从而使得调试主机的桌面调试工具可以对调试宿主机的目标应用程序上展示的网页视图进行调试。也就是说,通过安装网页视图调试内核来触发目标应用程序的调试开关,从而使得所有实现了与网页视图调试内核对应的调试接口的应用程序都可以通过调试主机的桌面调试工具进行调试;并且,因为目标应用程序为实现了与网页视图调试内核对应的调试接口的应用程序,因此,其本身在对网页视图进行解析并展示的过程中是通过网页视图调试内核实现的,而在通过上述远程调试方法进行调试的过程中,网页视图的展示也是通过网页视图调试内核实现的,这就使得调试的网页视图在实际使用过程中的真实运行环境与在调试过程中的宿主环境是一致的,最大程度的在调试的过程中还原网页视图的真实运行环境,使得开发者在调试的过程中能准确的对出现的问题进行定位,提高效率。
在一个实施例中,如图12所示,图12展示了一种运行上述基于调试主机的远程调试方法的基于冯诺依曼体系的计算机系统的终端,进一步的,图12展示的也是运行上述基于调试宿主机的远程调试方法的基于冯诺依曼体系的计算机系统的终端。该计算机系统可以是安装了桌面调试工具的个人电脑(Personal Computer,PC)、服务器、多处理器系统、小型计算机、大型计算机以及包括任一上述系统或设备的分布式计算环境等计算机设备。具体的,可包括通过系统总线连接的外部输入接口1001、处理器1002、存储器1003和输出接口1004。其中,外部输入接口1001可选的可至少包括网络接口10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可至少包括显示屏10042等设备。
在本实施例中,上述运行于调试主机的远程调试方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统中形成逻辑上的ADB连接建立模块102、ADB检测指令发送模块104以及调试模块106。且在上述远程调试方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
具体的,处理器1002用户执行如下操作:
建立与调试宿主机之间的ADB连接;
发送ADB检测指令给所述调试宿主机,以使所述调试宿主机确定手机上运行的目标应用程序,所述调试宿主机还用于在所述手机上安装预设的目标webview调试内核,所述目标webview调试内核中包含有解析网页元素的webkit内核,通过所述webview调试内核解析所述目标应用程序的webview中展示的网页;
接收所述调试宿主机经由所述ADB连接发送的通过所述目标webview调试内核将所述目标应用程序中展示的webview网页的调试数据,对所述接收的调试数据进行调试。
可选的,在一个实施例中,处理器1002还用于检测USB端口连接的调试宿主机,与所述调试宿主机通过USB建立ADB连接。
在本实施例中,上述运行于调试宿主机的远程调试方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统中形成逻辑上的ADB连接建立模块202、目标应用程序确定模块204、网页视图调试内核安装模块206、调试开关开启模块208、调试数据发送模块210、第一判断模块212以及第二判断模块214。且在上述远程调试方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
具体的,处理器1002用户执行如下操作:
建立与调试主机之间的ADB连接;
接收ADB检测指令,根据所述ADB检测指令确定待调试的目标应用程序;
下载并安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核;
通过所述目标网页视图调试内核开启所述目标应用程序的调试开关,解析所述目标应用程序中展示的网页视图,并通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试。
可选的,在一个实施例中,处理器1002还用于检测USB端口连接的调试主机,通过所述USB端口与所述调试主机建立所述ADB连接。
可选的,在一个实施例中,处理器1002还用于判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口,若是,则执行下载并安装预设的目标网页视图调试内核。
可选的,在一个实施例中,处理器1002还用于在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,判断所述目标应用程序是否包含扫码打开页面功能,若包含,则通过扫描二维码打开与所述目标应用程序的调试开关开启的操作页面,获取通过所述操作页面输入的确认指令,根据所述确认指令开启所述目标应用程序的调试开关。
可选的,在一个实施例中,处理器1002还用于判断所述目标应用程序是否包括已安装网页视图调试内核;
若所述目标应用程序包括所述已安装网页视图调试内核,则获取所述已安装网页视图调试内核作为目标网页视图调试内核,并执行所述通过所述网页视图调试内核开启所述目标应用程序的调试开关;
若所述目标应用程序未包括所述已安装网页视图调试内核,则执行所述下载并安装预设的网页视图调试内核。
可选的,在一个实施例中,处理器1002还用于在所述目标应用程序包括已安装网页视图调试内核时,确定与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号;
在与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号时,获取所述已安装网页视图调试内核作为所述目标网页视图调试内核,并执行所述通过所述目标网页视图调试内核开启所述目标应用程序的调试开关的步骤;
在与所述已安装网页视图调试内核对应的版本号低于所述目标网页视图调试内核对应的版本号时,执行所述下载并安装预设的目标网页视图调试内核。
可选的,在一个实施例中,处理器1002还用于下载并安装预设的与所述调试主机的桌面调试工具对应的调试工具客户端,所述调试工具客户端包括所述预设的目标网页视图调试内核。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (18)

1.一种远程调试方法,其特征在于,包括:
建立与调试主机之间的ADB连接;
接收ADB检测指令,根据所述ADB检测指令确定待调试的目标应用程序;
下载并安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核;
通过所述目标网页视图调试内核开启所述目标应用程序的调试开关,解析所述目标应用程序中展示的网页视图,并通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试。
2.根据权利要求1所述的远程调试方法,其特征在于,所述建立与调试主机之间的ADB连接还包括:
检测USB端口连接的调试主机,通过所述USB端口与所述调试主机建立所述ADB连接。
3.根据权利要求1所述的远程调试方法,其特征在于,所述下载并安装预设的目标网页视图调试内核之前还包括:
判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口,若是,则执行下载并安装预设的目标网页视图调试内核。
4.根据权利要求3所述的远程调试方法,其特征在于,所述判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口之后还包括:
在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,判断所述目标应用程序是否包含扫码打开页面功能,若包含,则通过扫描二维码打开与所述目标应用程序的调试开关开启的操作页面,获取通过所述操作页面输入的确认指令,根据所述确认指令开启所述目标应用程序的调试开关。
5.根据权利要求1所述的远程调试方法,其特征在于,所述下载并安装预设的目标网页视图调试内核之前还包括:
判断所述目标应用程序是否包括已安装网页视图调试内核;
若所述目标应用程序包括所述已安装网页视图调试内核,则获取所述已安装网页视图调试内核作为目标网页视图调试内核,并执行所述通过所述网页视图调试内核开启所述目标应用程序的调试开关;
若所述目标应用程序未包括所述已安装网页视图调试内核,则执行所述下载并安装预设的网页视图调试内核。
6.根据权利要求5所述的远程调试方法,其特征在于,所述判断所述目标应用程序是否包括已安装网页视图调试内核之后还包括:
在所述目标应用程序包括已安装网页视图调试内核时,确定与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号;
在与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号时,获取所述已安装网页视图调试内核作为所述目标网页视图调试内核,并执行所述通过所述目标网页视图调试内核开启所述目标应用程序的调试开关的步骤;
在与所述已安装网页视图调试内核对应的版本号低于所述目标网页视图调试内核对应的版本号时,执行所述下载并安装预设的目标网页视图调试内核。
7.根据权利要求1所述的远程调试方法,其特征在于,所述下载并安装预设的目标网页视图调试内核还包括:
下载并安装预设的与所述调试主机的桌面调试工具对应的调试工具客户端,所述调试工具客户端包括所述预设的目标网页视图调试内核。
8.一种远程调试装置,其特征在于,包括:
ADB连接建立模块,用于建立与调试主机之间的ADB连接;
目标应用程序确定模块,用于接收ADB检测指令,根据所述ADB检测指令确定待调试的目标应用程序;
webview调试内核安装模块,用于下载并安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核;
调试开关开启模块,用于通过所述目标网页视图调试内核开启所述目标应用程序的调试开关;
调试数据发送模块,用于解析所述目标应用程序中展示的网页视图,并通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据经由所述ADB连接发送给所述调试主机的桌面调试工具进行调试。
9.根据权利要求8所述的远程调试装置,其特征在于,所述ADB连接建立模块还用于检测USB端口连接的调试主机,通过所述USB端口与所述调试主机建立所述ADB连接。
10.根据权利要求8所述的远程调试装置,其特征在于,所述装置还包括第一判断模块,用于判断所述目标应用程序是否实现了与所述目标网页视图调试内核对应的调试接口,在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,调用所述网页视图调试内核安装模块。
11.根据权利要求10所述的远程调试装置,其特征在于,所述调试开关开启模块还用于在所述目标应用程序实现了与所述目标网页视图调试内核对应的调试接口时,判断所述目标应用程序是否包含扫码打开页面功能,若包含,则通过扫描二维码打开与所述目标应用程序的调试开关开启的操作页面,获取通过所述操作页面输入的确认指令,根据所述确认指令开启所述目标应用程序的调试开关。
12.根据权利要求8所述的远程调试装置,其特征在于,所述装置还包括第二判断模块,用于判断所述目标应用程序是否包括已安装网页视图调试内核;若所述目标应用程序包括所述已安装网页视图调试内核,则获取所述已安装网页视图调试内核作为目标网页视图调试内核,并调用所述调试开关开启模块;若所述目标应用程序未包括所述已安装网页视图调试内核,调用所述网页视图调试内核安装模块。
13.根据权利要求12所述的远程调试装置,其特征在于,所述网页视图调试内核安装模块还用于在所述目标应用程序包括已安装网页视图调试内核时,确定与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号;在与所述已安装网页视图调试内核对应的版本号不低于所述目标网页视图调试内核对应的版本号时,获取所述已安装网页视图调试内核作为所述目标网页视图调试内核,调用所述调试开关开启模块;在与所述已安装网页视图调试内核对应的版本号低于所述目标网页视图调试内核对应的版本号时,调用所述网页视图调试内核安装模块。
14.根据权利要求8所述的远程调试装置,其特征在于,所述网页视图调试内核安装模块还用于下载并安装预设的与所述调试主机的桌面调试工具对应的调试工具客户端,所述调试工具客户端包括所述预设的目标网页视图调试内核。
15.一种远程调试方法,其特征在于,包括:
建立与调试宿主机之间的ADB连接;
发送ADB检测指令给所述调试宿主机,以使所述调试宿主机确定手机上运行的目标应用程序,所述调试宿主机还用于在所述手机上安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核,通过所述网页视图调试内核解析所述目标应用程序的网页视图中展示的网页;
接收所述调试宿主机经由所述ADB连接发送的通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据,对所述接收的调试数据进行调试。
16.根据权利要求15所示的远程调试方法,其特征在于,所述建立与调试宿主机之间的ADB连接还包括:
检测USB端口连接的调试宿主机,与所述调试宿主机通过USB建立ADB连接。
17.一种远程调试装置,其特征在于,包括:
ADB连接建立模块,用于建立与调试宿主机之间的ADB连接;
ADB检测指令发送模块,用于发送ADB检测指令给所述调试宿主机,以使所述调试宿主机确定手机上运行的目标应用程序,所述调试宿主机还用于在所述手机上安装预设的目标网页视图调试内核,所述目标网页视图调试内核中包含有解析网页元素的webkit内核,通过所述网页视图调试内核解析所述目标应用程序的网页视图中展示的网页;
调试模块,用于接收所述调试宿主机经由所述ADB连接发送的通过所述目标网页视图调试内核将所述目标应用程序中展示的网页视图的调试数据,对所述接收的调试数据进行调试。
18.根据权利要求17所述的远程调试装置,其特征在于,所述ADB连接建立模块还用于检测USB端口连接的调试宿主机,与所述调试宿主机通过USB建立ADB连接。
CN201611146675.2A 2016-12-13 2016-12-13 一种远程调试方法及装置 Pending CN108614767A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611146675.2A CN108614767A (zh) 2016-12-13 2016-12-13 一种远程调试方法及装置
PCT/CN2017/115342 WO2018108041A1 (zh) 2016-12-13 2017-12-08 一种远程调试方法及装置、计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611146675.2A CN108614767A (zh) 2016-12-13 2016-12-13 一种远程调试方法及装置

Publications (1)

Publication Number Publication Date
CN108614767A true CN108614767A (zh) 2018-10-02

Family

ID=62557920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611146675.2A Pending CN108614767A (zh) 2016-12-13 2016-12-13 一种远程调试方法及装置

Country Status (2)

Country Link
CN (1) CN108614767A (zh)
WO (1) WO2018108041A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508287A (zh) * 2018-10-16 2019-03-22 平安普惠企业管理有限公司 页面调试方法及终端设备
CN110058994A (zh) * 2019-03-01 2019-07-26 视联动力信息技术股份有限公司 一种调试安卓医疗终端中程序的方法以及系统
CN111078530A (zh) * 2019-11-22 2020-04-28 北京奇艺世纪科技有限公司 应用程序调试方法、系统、电子设备及计算机可读存储介质
CN111444103A (zh) * 2020-03-31 2020-07-24 腾讯音乐娱乐科技(深圳)有限公司 一种Web页面自动化测试方法及相关设备
CN113760688A (zh) * 2020-06-05 2021-12-07 腾讯科技(深圳)有限公司 一种远程调试方法、系统、网页服务器、设备及存储介质
CN111444103B (zh) * 2020-03-31 2024-04-26 腾讯音乐娱乐科技(深圳)有限公司 一种Web页面自动化测试方法及相关设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124874B (zh) * 2018-10-31 2024-04-05 阿里巴巴集团控股有限公司 调试网页的方法、调试服务器以及主控设备
CN110119352A (zh) * 2019-04-18 2019-08-13 深圳壹账通智能科技有限公司 应用程序的ui调试方法、装置、计算机设备和存储介质
CN111124702B (zh) * 2019-11-22 2023-03-21 腾讯科技(深圳)有限公司 性能数据采集方法、装置和计算机可读存储介质
CN115470423B (zh) * 2022-11-15 2023-03-24 深圳市乐凡信息科技有限公司 安卓系统的更新方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424093A (zh) * 2013-08-26 2015-03-18 阿里巴巴集团控股有限公司 一种兼容性测试方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170922B1 (en) * 2014-01-27 2015-10-27 Google Inc. Remote application debugging
CN104021082B (zh) * 2014-06-16 2017-03-01 贝壳网际(北京)安全技术有限公司 一种针对浏览器的远程调试方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424093A (zh) * 2013-08-26 2015-03-18 阿里巴巴集团控股有限公司 一种兼容性测试方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEB爱好者: "TBS开发调试利器——TBS Studio", 《QQ浏览器移动产品论坛HTTP://OPEN.IMTT.QQ.COM/THREAD-1416927-1-1.HTML》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508287A (zh) * 2018-10-16 2019-03-22 平安普惠企业管理有限公司 页面调试方法及终端设备
CN110058994A (zh) * 2019-03-01 2019-07-26 视联动力信息技术股份有限公司 一种调试安卓医疗终端中程序的方法以及系统
CN110058994B (zh) * 2019-03-01 2023-09-12 视联动力信息技术股份有限公司 一种调试安卓医疗终端中程序的方法以及系统
CN111078530A (zh) * 2019-11-22 2020-04-28 北京奇艺世纪科技有限公司 应用程序调试方法、系统、电子设备及计算机可读存储介质
CN111444103A (zh) * 2020-03-31 2020-07-24 腾讯音乐娱乐科技(深圳)有限公司 一种Web页面自动化测试方法及相关设备
CN111444103B (zh) * 2020-03-31 2024-04-26 腾讯音乐娱乐科技(深圳)有限公司 一种Web页面自动化测试方法及相关设备
CN113760688A (zh) * 2020-06-05 2021-12-07 腾讯科技(深圳)有限公司 一种远程调试方法、系统、网页服务器、设备及存储介质

Also Published As

Publication number Publication date
WO2018108041A1 (zh) 2018-06-21

Similar Documents

Publication Publication Date Title
CN108614767A (zh) 一种远程调试方法及装置
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
US20230004481A1 (en) Automated application testing system
CN107688529B (zh) 组件调试方法和装置
CN106325847B (zh) 基于iOS平台获取应用程序功能的方法和装置
CN105338110A (zh) 远程调试方法和平台、服务器
CN111209193B (zh) 程序的调试方法及装置
CN107391219B (zh) 函数编译方法和装置
CN105653338B (zh) 一种应用的更新方法及装置
CN111563032A (zh) App调试方法、装置、计算机设备及存储介质
CN106066809A (zh) 一种基于arm内核51仿真器的仿真调试方法及系统
CN111858296A (zh) 接口测试方法、装置、设备和存储介质
CN106557411B (zh) Android系统中Hybrid应用的测试方法及系统
CN107861875B (zh) 一种混合移动应用的模拟方法及系统
CN116627850B (zh) 函数调试方法、装置、存储介质以及电子设备
CN112541313B (zh) 为逻辑分析态配置触发表达式的方法和装置
CN109299011A (zh) 一种应用程序的测试方法及系统
CN113127329B (zh) 脚本调试方法、装置及计算机存储介质
CN110674026A (zh) 导航轨迹模拟的方法、装置、存储介质和终端设备
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
CN111459506A (zh) 深度学习平台集群的部署方法、装置、介质及电子设备
CN105339974B (zh) 模拟传感器
CN115080109A (zh) 基于混合开发的多云端环境联调方法、装置、系统和设备
CN115203019A (zh) Gpu服务器的性能测试方法、装置、设备及存储介质
CN114741294A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181002