解决ADB端口被占用的方法及其系统与流程

文档序号:12747898阅读:773来源:国知局
解决ADB端口被占用的方法及其系统与流程

本发明涉及ADB技术领域,尤其涉及一种解决ADB端口被占用的方法及其系统。



背景技术:

以往,Android开发人员或adb工具使用者在使用adb过程中,由于电脑上装有的各式各样安卓助手工具(如91助手或360手机助手等)跟安卓设备的通讯需要,启动后经常会默认占有adb的通讯端口,造成adb工具无法打开。在此情况下,开发人员需要逐一查询并排查是哪个安卓助手占用adb的端口,并需要关闭该应用或者强行停止占用端口的服务,严重影响开发人员的开发效率。



技术实现要素:

本发明所要解决的技术问题是:提出一种解决ADB端口被占用的方法及其系统,可解决adb工具端口被占用的问题,提高开发效率。

为了解决上述技术问题,本发明采用的技术方案为:将ADB设备的厂商编号和设备编号与预设的接口号进行关联;

在ADB设备的属性信息中增加功能组合信息,所述功能组合信息包括所述ADB设备的厂商编号、设备编号及其对应的接口号;

若ADB设备的厂商编号和设备编号与预设的厂商编号和设备编号一致,则将所述ADB设备的描述符信息设置为预设的描述符信息;

同时,在PC设备的ADB驱动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号;

在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号;

ADB设备连接PC设备;

若PC设备判定所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号一致,且所述ADB设备的描述符信息为预设的描述符信息,则PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序;

同时,将PC设备与ADB设备的通讯端口号设置为所述预设的端口号。

本发明还涉及一种解决ADB端口被占用的系统,包括:

关联模块,用于将ADB设备的厂商编号和设备编号与预设的接口号进行关联;

第一增加模块,用于在ADB设备的属性信息中增加功能组合信息,所述功能组合信息包括所述ADB设备的厂商编号、设备编号及其对应的接口号;

第一设置模块,用于若ADB设备的厂商编号和设备编号与预设的厂商编号和设备编号一致,则将所述ADB设备的描述符信息设置为预设的描述符信息;

第二增加模块,用于所述第一设置模块执行完毕的同时,在PC设备的ADB驱动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号;

修改模块,用于在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号;

连接模块,用于ADB设备连接PC设备;

安装模块,用于若PC设备判定所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号一致,且所述ADB设备的描述符信息为预设的描述符信息,则PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序;

第二设置模块,用于执行所述安装模块的同时,将PC设备与ADB设备的通讯端口号设置为所述预设的端口号。

本发明的有益效果在于:通过在ADB设备的属性信息中增加厂商编号和设备编号,即VID和PID,以及对应的接口号,若ADB设备的厂商编号和设备编号为预设的厂商编号和设备编号,则对所述ADB设备的描述符信息进行重新定义,以在PC设备匹配驱动时,对原来的标准ADB设备和修改后的定制ADB设备进行区分;通过在PC设备的ADB驱动程序信息文件中增加预设的厂商编号和预设的设备编号及其对应的接口号,生成定制的ADB驱动程序,当PC设备判定与其连接的ADB设备为定制ADB设备时,则安装对应的定制ADB驱动程序;同时,预先在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号,当ADB设备连接PC设备后,将与不同于标准ADB通讯端口5037以外的端口号作为与PC设备的通讯端口号,从而达到默认标准端口不被助手工具占用的目的。

附图说明

图1为本发明一种解决ADB端口被占用的方法的流程图;

图2为本发明实施例一的流程图;

图3为本发明一种解决ADB端口被占用的系统的结构示意图;

图4为本发明实施例二的系统结构示意图。

标号说明:

1、关联模块;2、第一增加模块;3、第一设置模块;4、第二增加模块;5、连接模块;6、修改模块;7、安装模块;8、第二设置模块;9、第三设置模块;

71、第一判断单元;72、第二判断单元;73、安装单元。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。

本发明最关键的构思在于:在ADB设备的属性信息和PC设备的ADB驱动程序信息文件中增加厂商编号、设备编号以及对应的接口号,使PC设备不安装标准的ADB驱动程序,并且使用非标准端口进行通讯。

请参阅图1,一种解决ADB端口被占用的方法,包括:

将ADB设备的厂商编号和设备编号与预设的接口号进行关联;

在ADB设备的属性信息中增加功能组合信息,所述功能组合信息包括所述ADB设备的厂商编号、设备编号及其对应的接口号;

若ADB设备的厂商编号和设备编号与预设的厂商编号和设备编号一致,则将所述ADB设备的描述符信息设置为预设的描述符信息;

同时,在PC设备的ADB驱动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号;

在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号;

ADB设备连接PC设备;

若PC设备判定所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号一致,且所述ADB设备的描述符信息为预设的描述符信息,则PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序;

同时,将PC设备与ADB设备的通讯端口号设置为所述预设的端口号。

从上述描述可知,本发明的有益效果在于:可解决ADB工具端口被占用的问题,提高开发效率。

进一步地,所述“将所述ADB设备的描述符信息设置为预设的描述符信息”之前,进一步包括:

将ADB设备的描述符信息中的接口子类和接口协议码设置为对应自定义类型的参数。

由上述描述可知,将ADB设备的描述符信息进行重新定义,以在PC设备匹配设备驱动时对标准ADB设备和定制ADB设备进行区分。

进一步地,所述“若PC设备判定所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号一致,且所述ADB设备的描述符信息为预设的描述符信息,则PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序”具体为:

PC设备判断所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号是否一致;

若一致,判断所述ADB设备的描述符信息是否为预设的描述符信息;

若是,PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序。

由上述描述可知,PC设备通过判断厂商编号、设备编号及其对应的接口号是否一致,判定是否为定制的ADB设备,从而根据定制ADB设备安装定制的ADB驱动程序。

进一步地,所述预设的端口号非标准端口号。

进一步地,所述ADB设备为安装有嵌入式系统且在其USB复合设备包含ADB功能的智能终端;所述PC设备为安装有Windows系统的计算机。

请参照图3,本发明还提出了一种解决ADB端口被占用的系统,包括:

关联模块,用于将ADB设备的厂商编号和设备编号与预设的接口号进行关联;

第一增加模块,用于在ADB设备的属性信息中增加功能组合信息,所述功能组合信息包括所述ADB设备的厂商编号、设备编号及其对应的接口号;

第一设置模块,用于若ADB设备的厂商编号和设备编号与预设的厂商编号和设备编号一致,则将所述ADB设备的描述符信息设置为预设的描述符信息;

第二增加模块,用于所述第一设置模块执行完毕的同时,在PC设备的ADB驱动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号;

修改模块,用于在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号;

连接模块,用于ADB设备连接PC设备;

安装模块,用于若PC设备判定所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号一致,且所述ADB设备的描述符信息为预设的描述符信息,则PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序;

第二设置模块,用于执行所述安装模块的同时,将PC设备与ADB设备的通讯端口号设置为所述预设的端口号。

进一步地,还包括:

第三设置模块,用于将ADB设备的描述符信息中的接口子类和接口协议码设置为对应自定义类型的参数。

进一步地,所述安装模块包括:

第一判断单元,用于PC设备判断所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号是否一致;

第二判断单元,用于若一致,判断所述ADB设备的描述符信息是否为预设的描述符信息;

安装单元,用于若是,PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序。

进一步地,所述预设的端口号非标准端口号。

进一步地,所述ADB设备为安装有嵌入式系统且在其USB复合设备包含ADB功能的智能终端;所述PC设备为安装有Windows系统的计算机。

实施例一

请参照图2,本发明的实施例一为:一种解决ADB端口被占用的方法,适用于设备制造商开发人员或者第三应用方开发者等需要使用adb工具的人员,包括如下步骤:

S1:将ADB设备的厂商编号和设备编号与预设的接口号进行关联,即将预设的接口号同时与厂商编号和设备编号进行关联;厂商编号和设备编号,即VID和PID;所述接口号对应接口功能,如ADB功能。

S2:在ADB设备的属性信息中增加功能组合信息,所述功能组合信息包括所述ADB设备的厂商编号、设备编号及其对应的接口号。

S3:将ADB设备的描述符信息中的接口子类和接口协议码设置为对应自定义类型的参数;即将接口子类和接口协议码设置为0xff,接口类仍为ADB_CLASS,使得PC设备还是会以ADB设备驱动程序进行安装。

S4:判断ADB设备的厂商编号和设备编号与预设的厂商编号和设备编号是否一致,若是,执行步骤S5。

S5:将所述ADB设备的描述符信息设置为预设的描述符信息;例如,原来ADB设备的描述符用系统默认的descriptors进行配置,该步骤则用预设的描述符,如descriptors2进行配置;描述符信息修改后的ADB设备即为定制ADB设备。

S6:在PC设备的ADB驱动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号;即在PC驱动程序中的adb类的inf文件,增加预设的VID、PID、以及对应的接口号,生成对应所述厂商编号和设备编号的ADB驱动程序。

S7:在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号;所述ADB通讯程序即为adb.exe工具;进一步地,所述预设的端口号非标准端口号,即所述预设的端口号不与默认的标准端口号一致即可,例如,默认的标准端口号为5037,则预设的端口号可为5039等。

S8:ADB设备连接PC设备。

S9:PC设备判断所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号是否一致,若是,执行步骤S10。

S10:判断所述ADB设备的描述符信息是否为预设的描述符信息,若是,执行步骤S11;即判断是否所述ADB设备是否为定制ADB设备。

S11:PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序;即根据定制ADB设备,安装对应的定制ADB驱动程序。

S12:与步骤S11同时,将PC设备与ADB设备的通讯端口号设置为所述预设的端口号,即为不同于标准ADB通讯端口5037的其他端口号。

其中,常见的ADB设备可以是安装有嵌入式系统(如Linux,Android,Ubuntu等)且在其USB复合设备包含ADB功能的智能终端,如手机、平板等,本实施例的ADB设备为安装有Android系统的终端设备,PC设备为安装有Windows系统的计算机。

其中,对于步骤S2,由于android系统可通过属性文件persist.sys.usb.config的值如“mtp,adb”来匹配init.usb.rc对应的相同的属性值,此rc文件指定匹配后的PID和VID,也即PC系统匹配驱动的依据。因此,首先在init.usb.rc文件中增加功能组合信息,并在所述功能组合信息中增加USB设备的PID和VID以及各功能对应的接口号;同时需要修改android系统的属性文件persist.sys.usb.config的默认值来进行匹配。

对于步骤S3,可将ADB设备的接口描述符信息设置为下述代码:

对于步骤S4和S5,可在init_functionfs()中增加下述代码实现:

if((strcmp(usbname,"mtp,epay,epay_dl")==0)||(strcmp(usbname,"ptp,epay,epay_dl")==0)||(strcmp(usbname,"mass_storage,epay,epay_dl")==0)||(strcmp(usbname,"rndis,epay,epay_dl")==0))

ret=adb_write(h->control,&descriptors2,sizeof(descriptors2));

本实施例通过在ADB设备的属性信息中增加厂商编号和设备编号,即VID和PID,以及对应的接口号,若ADB设备的厂商编号和设备编号为预设的厂商编号和设备编号,则对所述ADB设备的描述符信息进行重新定义,以在PC设备匹配驱动时,对原来的标准ADB设备和修改后的定制ADB设备进行区分;通过在PC设备的ADB驱动程序信息文件中增加预设的厂商编号和预设的设备编号及其对应的接口号,生成定制的ADB驱动程序,当PC设备判定与其连接的ADB设备为定制ADB设备时,则安装对应的定制ADB驱动程序;同时,预先在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号,当ADB设备连接PC设备后,将与所述不同于标准ADB通讯端口5037以外的其他端口号作为与PC设备的通讯端口号,从而达到默认标准端口不被助手工具占用的目的。

实施例二

请参照图4,本实施例是对应上述实施例的一种解决ADB端口被占用的系统,包括:

关联模块1,用于将ADB设备的厂商编号和设备编号与预设的接口号进行关联;

第一增加模块2,用于在ADB设备的属性信息中增加功能组合信息,所述功能组合信息包括所述ADB设备的厂商编号、设备编号及其对应的接口号;

第一设置模块3,用于若ADB设备的厂商编号和设备编号与预设的厂商编号和设备编号一致,则将所述ADB设备的描述符信息设置为预设的描述符信息;

第二增加模块4,用于所述第一设置模块3执行完毕的同时,在PC设备的ADB驱动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号;

修改模块5,用于在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号;

连接模块6,用于ADB设备连接PC设备;

安装模块7,用于若PC设备判定所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号一致,且所述ADB设备的描述符信息为预设的描述符信息,则PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序;

第二设置模块8,用于在执行所述安装模块7的同时,将PC设备与ADB设备的通讯端口号设置为所述预设的端口号。

还包括:

第三设置模块9,用于将ADB设备的描述符信息中的接口子类和接口协议码设置为对应自定义类型的参数。

所述安装模块7包括:

第一判断单元71,用于PC设备判断所述ADB设备的厂商编号和设备编号及其对应的接口号与预设的厂商编号和设备编号及其对应的接口号是否一致;

第二判断单元72,用于若一致,判断所述ADB设备的描述符信息是否为预设的描述符信息;

安装单元73,用于若是,PC设备根据对应所述厂商编号和设备编号的ADB驱动程序信息文件,安装对应的ADB驱动程序。

所述预设的端口号非标准端口号。

所述ADB设备为安装有嵌入式系统且在其USB复合设备包含ADB功能的智能终端。

所述PC设备为安装有Windows系统的计算机。

综上所述,本发明提供的一种解决ADB端口被占用的方法及其系统,通过在ADB设备的属性信息中增加厂商编号和设备编号,即VID和PID,以及对应的接口号,若ADB设备的厂商编号和设备编号为预设的厂商编号和设备编号,则对所述ADB设备的描述符信息进行重新定义,以在PC设备匹配驱动时,对原来的标准ADB设备和修改后的定制ADB设备进行区分;通过在PC设备的ADB驱动程序信息文件中增加预设的厂商编号和预设的设备编号及其对应的接口号,生成定制的ADB驱动程序,当PC设备判定与其连接的ADB设备为定制ADB设备时,则安装对应的定制ADB驱动程序;同时,预先在PC设备的ADB通讯程序中将通讯端口号修改为预设的端口号,当ADB设备连接PC设备后,将与不同于标准ADB通讯端口5037的其他端口号作为与PC设备的通讯端口号,从而达到默认标准端口不被助手工具占用的目的。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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