Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 设置sys.usb.config值后,设备未列在adb中_Android - Fatal编程技术网

Android 设置sys.usb.config值后,设备未列在adb中

Android 设置sys.usb.config值后,设备未列在adb中,android,Android,我已经通过USB(用于ADB)和UART(用于minicom)将我的设备连接到PC。启动后,当我通过USB将设备连接到pc时,它会列在adb设备中 我使用了adb shell中的this命令来检查sys.usb.config的值 输出 [init.svc.qcom usb sh]:[stopped] [persist.data.df.dev_name]:[rmnet_usb0] [persist.sys.usb.config]:[adb] [persist.sys.usb.config.extr

我已经通过USB(用于ADB)和UART(用于minicom)将我的设备连接到PC。启动后,当我通过USB将设备连接到pc时,它会列在adb设备中

我使用了adb shell中的this命令来检查sys.usb.config的值 输出
[init.svc.qcom usb sh]:[stopped]
[persist.data.df.dev_name]:[rmnet_usb0]
[persist.sys.usb.config]:[adb]
[persist.sys.usb.config.extra]:[none]
[sys.usb.config]:[adb]
[sys.usb.configfs]:[0]
[sys.usb.ffs.ready]:[1]
[sys.usb.state]:[adb]

但是,当我将该值设置为adb shell setprop sys.usb.config diag、adb、video时,我的设备未在adb设备中列出

dmesg:-adb shell setprop sys.usb.config diag,adb,video
[500.136525]android\u usb小工具:uvc\u功能\u绑定

我已经在minicom中使用了this命令getprop|grep usb来检查sys.usb.config

输出
[init.svc.qcom usb sh]:[stopped]
[persist.data.df.dev_name]:[rmnet_usb0]
[persist.sys.usb.config]:[adb]
[persist.sys.usb.config.extra]:[none]
[sys.usb.config]:[diag,adb,video]
[sys.usb.configfs]:[0]
[sys.usb.ffs.ready]:[1]

[sys.usb.state]:[diag,adb,video]

如果您在Linux上,更改usb状态时,设备通常会报告不同的idProduct。您可以在命令行中键入“lsusb”进行检查

对于我的一台设备,我得到(除其他设备外)

总线001设备028:ID18D1:4337谷歌公司

您需要在/etc/udev/rules.d/[rules文件]中添加相应的规则。就我而言,我要补充:

SUBSYSTEM==“usb”ATTR{idVendor}=“18d1”ATTR{idProduct}==“4337”,MODE=“0660”,GROUP=“plugdev”


您的组可能会有所不同,这取决于您是否有plugdev。

如果您在Linux上,当您更改USB状态时,设备通常会报告不同的idProduct。您可以在命令行中键入“lsusb”进行检查

对于我的一台设备,我得到(除其他设备外)

总线001设备028:ID18D1:4337谷歌公司

您需要在/etc/udev/rules.d/[rules文件]中添加相应的规则。就我而言,我要补充:

SUBSYSTEM==“usb”ATTR{idVendor}=“18d1”ATTR{idProduct}==“4337”,MODE=“0660”,GROUP=“plugdev”


您的组可能会有所不同,这取决于您是否有plugdev。

对于您的情况,
adb
参数必须是最后一个更改,从:

adb shell setprop sys.usb.config diag,adb,video
致:


adb
参数必须是最后一个,在您的情况下,更改自:

adb shell setprop sys.usb.config diag,adb,video
致:


当您打开或关闭ADB时,USB设备ID确实会更改。这是不正确的。如果关闭ADB,设备将根本不会枚举。这是因为它停止运行adbd守护进程。它应该更改ID的唯一时间是,如果您更改设备上的ADB连接类型(即:PTP、MTP等),我会错插。USB产品ID不是ADB设备ID标识符。USB供应商和产品ID用于在设备连接到主机时识别设备。在Android上切换开发者模式将USB产品ID从0x4ee1(调试关闭)更改为0x4ee7(调试打开)。这就是主机端出现问题的原因。主机无法将具有不同USB产品id的同一物理设备识别为同一设备。当您打开或关闭ADB时,USB设备id确实会更改。这是不正确的。如果关闭ADB,设备将根本不会枚举。这是因为它停止运行adbd守护进程。它应该更改ID的唯一时间是,如果您更改设备上的ADB连接类型(即:PTP、MTP等),我会错插。USB产品ID不是ADB设备ID标识符。USB供应商和产品ID用于在设备连接到主机时识别设备。在Android上切换开发者模式将USB产品ID从0x4ee1(调试关闭)更改为0x4ee7(调试打开)。这就是主机端出现问题的原因。主机无法将具有不同USB产品id的同一物理设备识别为同一设备。