Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2018040928) METHOD FOR SOLVING PROBLEM THAT ADB PORT IS OCCUPIED, AND SYSTEM THEREFOR
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters
发明名称:解决 ADB端口被占用的方法及其系统 技术领域

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

背景技术

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

技术问题

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

问题的解决方案

技术解决方案

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

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

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

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

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

[0009] ADB设备连接 PC设备;

[0010] 若 PC设备判定所述 ADB设备的厂商编号和设备编号及其对应的接口号与预设

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

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

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

[0013] 关联模块,用于将 ADB设备的厂商编号和设备编号与预设的接口号进行关联; [0014] 第一增加模块,用于在 ADB设备的属性信息中增加功能组合信息,所述功能组 合信息包括所述 ADB设备的厂商编号、设备编号及其对应的接口号;

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

[0016] 第二增加模块,用于所述第一设置模块执行完毕的同吋,在 PC设备的 ADB驱 动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号; [0017] 修改模块,用于在 PC设备的 ADB通讯程序中将通讯端口号修改为预设的端口 号;

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

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

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

发明的有益效果

有益效果

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

对附图的简要说明

附图说明

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

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

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

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

[0026] 标号说明:

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

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

具体实施方式

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

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

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

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

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

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

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

[0036] ADB设备连接 PC设备;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0051] 关联模块,用于将 ADB设备的厂商编号和设备编号与预设的接口号进行关联; [0052] 第一增加模块,用于在 ADB设备的属性信息中增加功能组合信息,所述功能组 合信息包括所述 ADB设备的厂商编号、设备编号及其对应的接口号;

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

[0054] 第二增加模块,用于所述第一设置模块执行完毕的同吋,在 PC设备的 ADB驱 动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号; [0055] 修改模块,用于在 PC设备的 ADB通讯程序中将通讯端口号修改为预设的端口 号;

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

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

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

[0059] 进一步地,还包括:

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

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

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

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

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

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

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

[0067] 实施例一

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

[0069] S1 : 将 ADB设备的厂商编号和设备编号与预设的接口号进行关联,即将预设的 接口号同吋与厂商编号和设备编号进行关联;厂商编号和设备编号,即 VID和 PI

D; 所述接口号对应接口功能,如 ADB功能。

[0070] S2: 在 ADB设备的属性信息中增加功能组合信息,所述功能组合信息包括所述

ADB设备的厂商编号、设备编号及其对应的接口号。

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

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

[0073] S5: 将所述 ADB设备的描述符信息设置为预设的描述符信息;例如,原来 AD

B设备的描述符用系统默认的 descriptors进行配置,该步骤则用预设的描述符, 如 descriptor^进行配置;描述符信息修改后的 ADB设备即为定制 ADB设备。

[0074] S6: 在 PC设备的 ADB驱动程序信息文件中增加预设的厂商编号、预设的设备 编号及其对应的接口号;即在 PC驱动程序中的 adb类的文件,增加预设的 VID

、 PID、以及对应的接口号,生成对应所述厂商编号和设备编号的 ADB驱动程序

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

[0076] S8: ADB设备连接 PC设备。

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

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

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

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

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

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

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

[0084] fs_descs ={

[0085] .intf ={

[0086] .bLength =sizeof(descriptors2.fs_descs.intf),

[0087] .bDescriptorType =USB_DT_INTERFACE,

[0088] .blnterfaceNumber =0,

[0089] .bNumEndpoints =2,

[0090] .bInterfaceClass=ADB_CLASS

[0091] .bInterfaceSubClass=Oxff,

[0092] .bInterfaceProtocol=Oxff,

[0093] .ilnterface =1,/* first string from the provided table */

[0094] };

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

[0096] if((strcmp(usbname,"mtp,epay,epay_dl")==0)ll(strcmp(usbname,"ptp,epay,epay_dl")

==0)ll(strcmp(usbname,"mass_storage,epay,epay_dl")==0)ll(strcmp(usbname,"rndis,ep ay ,epay_dl")==0) )

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

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

[0099] 实施例二

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

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

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

[0103] 第一设置模块 3,用于若 ADB设备的厂商编号和设备编号与预设的厂商编号和 设备编号一致,则将所述 ADB设备的描述符信息设置为预设的描述符信息; [0104] 第二增加模块 4,用于所述第一设置模块 3执行完毕的同吋,在 PC设备的 ADB 驱动程序信息文件中增加预设的厂商编号、预设的设备编号及其对应的接口号

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

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

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

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

[0109] 还包括:

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

[0111] 所述安装模块 7包括:

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

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

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

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

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

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

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