发明内容
本发明提供了一种无线调试安卓设备的方法、装置及系统,能够无线调试安卓设备。
为了达到上述目的,本发明是通过如下技术方案实现的:
第一方面,本发明提供了一种无线调试安卓设备的方法,应用于安卓设备,所述安卓设备已开启root权限并安装有第一应用程序,所述安卓设备上设置有adb服务及其配置文件,所述配置文件包括所述adb服务的端口号;该方法包括:
连接一局域网;
接收外部输入的、针对所述第一应用程序的第一启动指令;
根据所述第一启动指令,运行所述第一应用程序;
利用所述第一应用程序,获取所述root权限,并基于所述root权限,获取所述配置文件,提醒外部输入新的端口号,接收外部输入的新端口号,将所述配置文件中的端口号替换为所述新端口号;
接收外部输入的adb服务重启指令;
根据所述adb服务重启指令,重启所述adb服务;
基于所述安卓设备的具有所述新端口号的端口,接收已连接所述局域网的外部调试设备发来的调试指令;
利用所述adb服务,执行所述调试指令。
进一步地,在所述接收外部输入的、针对所述第一应用程序的第一启动指令之前,还包括:
接收外部输入的、针对第二应用程序的安装指令;
根据所述安装指令,下载并安装所述第二应用程序;
接收外部输入的、针对所述第二应用程序的第二启动指令;
根据所述第二启动指令,运行所述第二应用程序;
利用所述第二应用程序,开启所述root权限。
进一步地,所述利用所述第一应用程序,获取所述root权限,包括:
利用所述第一应用程序,输出用户授权对话框,接收外部经所述用户授权对话框而输入的同意授权指令时,获取所述root权限。
进一步地,所述将所述配置文件中的端口号替换为所述新端口号,包括:将所述配置文件中的service.adb.tcp.port X中的X替换为所述新端口号;
其中,所述新端口号为取值范围[1,65535]中的任一整数。
第二方面,本发明提供了一种安卓设备,包括:
无线连接模块、第一处理模块、重启模块、调试模块;
其中,所述安卓设备已开启root权限并安装有第一应用程序,所述安卓设备上设置有adb服务及其配置文件,所述配置文件包括所述adb服务的端口号;
所述无线连接模块,用于连接一局域网;
所述第一处理模块,用于接收外部输入的、针对所述第一应用程序的第一启动指令;根据所述第一启动指令,运行所述第一应用程序;利用所述第一应用程序,获取所述root权限,并基于所述root权限,获取所述配置文件,提醒外部输入新的端口号,接收外部输入的新端口号,将所述配置文件中的端口号替换为所述新端口号;
所述重启模块,用于接收外部输入的adb服务重启指令;根据所述adb服务重启指令,重启所述adb服务;
所述调试模块,用于基于所述安卓设备的具有所述新端口号的端口,接收已连接所述局域网的外部调试设备发来的调试指令;利用所述adb服务,执行所述调试指令。
进一步地,该安卓设备还包括:第二处理模块,用于接收外部输入的、针对第二应用程序的安装指令;根据所述安装指令,下载并安装所述第二应用程序;接收外部输入的、针对所述第二应用程序的第二启动指令;根据所述第二启动指令,运行所述第二应用程序;利用所述第二应用程序,开启所述root权限。
进一步地,所述第一处理模块,用于利用所述第一应用程序,输出用户授权对话框,接收外部经所述用户授权对话框而输入的同意授权指令时,获取所述root权限。
进一步地,所述第一处理模块,用于将所述配置文件中的service.adb.tcp.portX中的X替换为所述新端口号;
其中,所述新端口号为取值范围[1,65535]中的任一整数。
进一步地,所述安卓设备包括安卓模拟器、安卓手机或安卓平板。
第三方面,本发明提供了一种无线调试安卓设备的系统,包括:
调试设备和上述任一所述的安卓设备;
其中,所述调试设备和所述安卓设备连接在同一局域网下;
所述安卓设备上设置有adb服务的配置文件,所述配置文件包括所述adb服务的端口号;
所述调试设备上安装有adb;
所述调试设备,用于接收外部输入的所述端口号和所述安卓设备的IP地址;根据所述IP地址和所述端口号,无线连接所述安卓设备;接收外部输入的调试指令,将所述调试指令发送给所述安卓设备。
本发明提供了一种无线调试安卓设备的方法、装置及系统。安卓设备已开启root权限并安装有应用程序,安卓设备上设置有adb服务及其配置文件,配置文件包括adb服务的端口号。安卓设备连接局域网;接收外部输入的针对应用程序的启动指令,据此运行应用程序;利用应用程序,获取root权限,并基于root权限,获取配置文件,提醒外部输入新的端口号,将配置文件中的端口号替换为外部输入的新端口号;接收外部输入的adb服务重启指令,据此重启adb服务;基于安卓设备的具有新端口号的端口,接收已连接同一局域网的外部调试设备发来的调试指令;利用adb服务执行调试指令。因此,本发明能够无线调试安卓设备。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种无线调试安卓设备的方法,应用于安卓设备,所述安卓设备已开启root权限并安装有第一应用程序,所述安卓设备上设置有adb服务及其配置文件,所述配置文件包括所述adb服务的端口号;该方法包括:
步骤101:连接一局域网。
步骤102:接收外部输入的、针对所述第一应用程序的第一启动指令。
步骤103:根据所述第一启动指令,运行所述第一应用程序。
步骤104:利用所述第一应用程序,获取所述root权限,并基于所述root权限,获取所述配置文件,提醒外部输入新的端口号,接收外部输入的新端口号,将所述配置文件中的端口号替换为所述新端口号。
步骤105:接收外部输入的adb服务重启指令。
步骤106:根据所述adb服务重启指令,重启所述adb服务。
步骤107:基于所述安卓设备的具有所述新端口号的端口,接收已连接所述局域网的外部调试设备发来的调试指令。
步骤108:利用所述adb服务,执行所述调试指令。
本发明实施例提供了一种无线调试安卓设备的方法,应用于安卓设备,该安卓设备已开启root权限并安装有应用程序,安卓设备上设置有adb服务及其配置文件,配置文件包括adb服务的端口号。安卓设备连接局域网;接收外部输入的针对应用程序的启动指令,据此运行应用程序;利用应用程序,获取root权限,并基于root权限,获取配置文件,提醒外部输入新的端口号,将配置文件中的端口号替换为外部输入的新端口号;接收外部输入的adb服务重启指令,据此重启adb服务;基于安卓设备的具有新端口号的端口,接收已连接同一局域网的外部调试设备发来的调试指令;利用adb服务执行调试指令。因此,本发明实施例能够无线调试安卓设备。
详细地,安装有adb这一工具的调试设备与待调试的安卓设备可连接于同一局域网,调试设备基于安卓设备的IP地址和安卓设备的adb服务的端口号,即可建立与安卓设备间的无线连接,从而可以无线调试安卓设备。
详细地,被调试的安卓设备即可以为安卓模拟器,也可以为真实存在的安卓设备,比如安卓手机、安卓平板等。
为无线连接安卓设备,调试设备需要获知上述端口号。对应地,安卓设备需已获取root权限。如此,安卓设备可基于root权限,按照调试人员需求,对adb服务的配置文件中的端口号进行修改。进而,调试人员即可将修改后的端口号输入调试设备。
详细地,root权限是系统权限的一种,也叫根权限,与SYSTEM权限可以理解成一个概念,但高于Administrator权限,root是Linux和unix系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象它都可以操作。
本发明实施例中,可以由安卓设备上的第一应用程序来执行上述端口号修改操作。如此,安卓设备首先需要已开启root权限,第一应用程序可获取这一root权限,并基于该root权限来修改端口号。
详细地,第一应用程序既可以为调试人员按需编写创建出的一应用程序,也可以为可用来获取root权限并修改端口号的一现有应用程序。确定好第一应用程序后,调试人员需要预先将第一应用程序安装在安卓设备上。
安装好第一应用程序后,调试人员即可触发该第一应用程序的图标,以请求安卓设备启动该第一应用程序。第一应用程序启动后,可获取root权限,并基于获得的root权限,获取adb服务的配置文件。配置文件获取到后,可弹出对话框以提示调试人员输入端口号。调试人员输入新端口号后,第一应用程序即可用新端口号,替换掉配置文件中已有的原端口号。
详细地,在保证端口号不冲突的前提下,这一新端口号可以为任意符合标准的端口号,调试人员按需设置即可。
由于配置文件中的端口号已改变,为使adb服务可以适配新端口号,可对adb服务进行重启。详细地,调试人员可以操作安卓手机,以单独重启adb服务,亦可直接将安卓设备进行重启。
之后,同一局域网下的调试设备基于安卓设备的IP地址和新端口号,即可无线发来调试指令,对应地,安卓设备即可利用重启后的adb服务,来执行调试指令,从而实现调试设备对安卓设备的无线调试。这一调试操作可以包括对安卓设备的任何文件,包括系统文件的增、删、改、查的操作。
上面提到,为修改配置文件中的端口号,第一应用程序需获取root权限,对应地,安卓设备需已开启root权限。通常情况下,为了避免在应用Android平台时的一些潜在风险,厂商在设备出厂前会锁定root权限,而仅开启级别相对较低的用户权限。如此,对于那些未开启root权限的安卓手机,需要预先开启root权限。
基于此,在本发明一个实施例中,为了说明一种开启root权限的可能实现方式,所以,在所述接收外部输入的、针对所述第一应用程序的第一启动指令之前,进一步包括:接收外部输入的、针对第二应用程序的安装指令;根据所述安装指令,下载并安装所述第二应用程序;接收外部输入的、针对所述第二应用程序的第二启动指令;根据所述第二启动指令,运行所述第二应用程序;利用所述第二应用程序,开启所述root权限。
详细地,第二应用程序可以为用于开启root权限的现有应用程序,比如可以从现有软件资源中下载的“一键root大师”、“KingRoot”等。下载好第二应用程序后,调试人员可以启动第二应用程序以使其运行,并按照第二应用程序的操作提示作相应操作,以使第二应用程序可开启安卓设备的root权限。
上面提到,调试人员启动第一应用程序后,第一应用程序会获取安卓设备的root权限。为避免误触发引起的第一应用程序启动,第一应用程序在启动后,可以再次发出授权确认通知,调试人员确认授权后才可获取root权限。因此,在本发明一个实施例中,所述利用所述第一应用程序,获取所述root权限,包括:利用所述第一应用程序,输出用户授权对话框,接收外部经所述用户授权对话框而输入的同意授权指令时,获取所述root权限。
详细地,调试人员点击第一应用程序的图标后,第一应用程序正常启动,并在启动后显示用户授权对话框,以使调试人员再次确认是否授权,若调试人员同意授权,则可以继续执行获取root权限的操作。
在本发明一个实施例中,所述将所述配置文件中的端口号替换为所述新端口号,包括:将所述配置文件中的service.adb.tcp.port X中的X替换为所述新端口号;
其中,所述新端口号为取值范围[1,65535]中的任一整数。
详细地,配置文件中记录有service.adb.tcp.port X,X即为原端口号,虽然调试人员无法查看到这一端口号,但利用第一应用程序,基于root权限可以对X的取值进行更改。故调试人员可以按需输入新端口号,第一应用程序即可将X的取值替换为这一新端口号。
如图2所示,本发明实施例提供了一种无线调试安卓设备的方法,可以包括以下步骤:
步骤201:调试设备和安卓设备均连接同一局域网。
详细地,安卓设备具有root权限并安装有应用程序A,安卓设备上设置有安卓调试桥adb服务及其配置文件,配置文件包括adb服务的端口号。
详细地,调试设备上安装有adb。
步骤202:安卓设备根据外部操作,下载并安装一键root大师。
步骤203:安卓设备根据外部操作,运行一键root大师,利用一键root大师,开启root权限。
步骤204:安卓设备根据外部操作,运行已安装的应用程序A。
详细地,这一应用程序A可以为调试人员按需自主开发出的应用程序。调试人员可以通过数据线连接或网络下载的方式,将应用程序A安装到安卓设备上。
步骤205:安卓设备利用应用程序A,输出用户授权对话框。
详细地,对话框可以提供有“授权”与“不授权”这两个功能按钮,以使调试人员确认是否准予授权。
步骤206:安卓设备接收外部经用户授权对话框而输入的同意授权指令时,获取root权限。
假设调试人员点击了“授权”。
步骤207:安卓设备利用应用程序A,基于root权限,获取配置文件,提醒外部输入新的端口号,接收外部输入的新端口号:10,将配置文件中的端口号替换为10。
假设调试人员需要将新端口号设置为10,故可输入10。
详细地,应用程序A是将配置文件中的service.adb.tcp.port X中的X替换为10,替换后,配置文件中为service.adb.tcp.port 10。
步骤208:安卓设备接收外部输入的adb服务重启指令,重启adb服务。
步骤209:调试设备接收外部输入的安卓设备的IP地址和端口号:10,根据IP地址和端口号:10,无线连接安卓设备。
步骤210:调试设备接收外部输入的调试指令,将调试指令发送给安卓设备。
步骤211:安卓设备基于安卓设备的具有端口号:10的端口,接收已连接局域网的外部调试设备发来的调试指令。
步骤212:安卓设备利用adb服务,执行调试指令。
如图3所示,本发明实施例提供了一种安卓设备,可以包括:无线连接模块301、第一处理模块302、重启模块303、调试模块304;
其中,所述安卓设备已开启root权限并安装有第一应用程序,所述安卓设备上设置有adb服务及其配置文件,所述配置文件包括所述adb服务的端口号;
所述无线连接模块301,用于连接一局域网;
所述第一处理模块302,用于接收外部输入的、针对所述第一应用程序的第一启动指令;根据所述第一启动指令,运行所述第一应用程序;利用所述第一应用程序,获取所述root权限,并基于所述root权限,获取所述配置文件,提醒外部输入新的端口号,接收外部输入的新端口号,将所述配置文件中的端口号替换为所述新端口号;
所述重启模块303,用于接收外部输入的adb服务重启指令;根据所述adb服务重启指令,重启所述adb服务;
所述调试模块304,用于基于所述安卓设备的具有所述新端口号的端口,接收已连接所述局域网的外部调试设备发来的调试指令;利用所述adb服务,执行所述调试指令。
在本发明一个实施例中,请参考图4,该安卓设备还包括:第二处理模块401,用于接收外部输入的、针对第二应用程序的安装指令;根据所述安装指令,下载并安装所述第二应用程序;接收外部输入的、针对所述第二应用程序的第二启动指令;根据所述第二启动指令,运行所述第二应用程序;利用所述第二应用程序,开启所述root权限。
在本发明一个实施例中,所述第一处理模块302,用于利用所述第一应用程序,输出用户授权对话框,接收外部经所述用户授权对话框而输入的同意授权指令时,获取所述root权限。
在本发明一个实施例中,所述第一处理模块302,用于将所述配置文件中的service.adb.tcp.port X中的X替换为所述新端口号;
其中,所述新端口号为取值范围[1,65535]中的任一整数。
在本发明一个实施例中,所述安卓设备包括安卓模拟器、安卓手机或安卓平板。
如图5所示,本发明实施例提供了一种无线调试安卓设备的系统,可以包括:调试设备501和上述任一所述的安卓设备502;
其中,所述调试设备501和所述安卓设备502连接在同一局域网下;
所述安卓设备502上设置有adb服务的配置文件,所述配置文件包括所述adb服务的端口号;
所述调试设备501上安装有adb;
所述调试设备501,用于接收外部输入的所述端口号和所述安卓设备502的IP地址;根据所述IP地址和所述端口号,无线连接所述安卓设备502;接收外部输入的调试指令,将所述调试指令发送给所述安卓设备502。
详细地,调试人员按需输入新端口号至安卓设备后,安卓设备可以将配置文件中adb服务的端口号,更改为这一新端口号。如此,调试人员在查到安卓设备的IP地址后,即可将IP地址和这一新端口号输入至调试设备。
调试人员通过操控调试设备,调试设备即可根据IP地址和端口号,无线连接至安卓设备。之后,调试人员即可按需操控调试设备,以下发调控指令。调控指令可无线传输至安卓设备,由安卓设备上的adb服务执行这一调控指令,从而完成调控操作。
综上所述,本发明实施例通过安卓设备上的安卓应用程序,修改安卓设备的adb服务的端口号,可以实现安卓设备和调试设备间的无线连接,便于通过调试设备对安卓设备作无线调试。本发明实施例中,仅需使用任意方式将应用程序安装至待调试的安卓设备,运行程序即可修改adb连接端口,无需与计算机或其他辅助设备连接,易于操作。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上所述,本发明的实施例具有至少如下有益效果:
1、本发明实施例中,安卓设备已开启root权限并安装有应用程序,安卓设备上设置有adb服务及其配置文件,配置文件包括adb服务的端口号。安卓设备连接局域网;接收外部输入的针对应用程序的启动指令,据此运行应用程序;利用应用程序,获取root权限,并基于root权限,获取配置文件,提醒外部输入新的端口号,将配置文件中的端口号替换为外部输入的新端口号;接收外部输入的adb服务重启指令,据此重启adb服务;基于安卓设备的具有新端口号的端口,接收已连接同一局域网的外部调试设备发来的调试指令;利用adb服务执行调试指令。因此,本发明实施例能够无线调试安卓设备。
2、本发明实施例通过安卓设备上的安卓应用程序,修改安卓设备的adb服务的端口号,可以实现安卓设备和调试设备间的无线连接,便于通过调试设备对安卓设备作无线调试。本发明实施例中,仅需使用任意方式将应用程序安装至待调试的安卓设备,运行程序即可修改adb连接端口,无需与计算机或其他辅助设备连接,易于操作。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。