有没有办法断开USB设备与ADB的连接?

时间:2016-05-26 12:15:59

标签: android adb

我有很多脚本使用ADB通过Wi-Fi和模拟器调试Android应用程序。当我通过USB从我的计算机为Android手机充电时出现问题:ADB看到它并将命令发送到我的手机而不是模拟器。 有没有办法将ADB与通过USB充电的手机断开连接?我知道我只能通过-e开关向模拟器发送命令,并通过{{1将它们发送到特定设备切换。但是,对我来说不行,因为如果我想实现这个设备选择功能,我必须重写很多脚本来添加更多参数。我不需要解决方法,我只是好奇Google 强制 ADB调试通过USB连接的设备中启用了USB调试的手机,或者可以从设备列表中删除特定的USB连接手机亚行方面? 当我运行-s时,USB设备保持连接状态。

5 个答案:

答案 0 :(得分:5)

用于内部存储的USB连接和用于调试的adb连接是两个独立的事情。

要停用adb,您可以使用adb disconnect或只关闭usb debugging下的developer options

为了断开用于内部存储的USB连接,某些ROMS可以选择。例如我现在拥有的CM 13允许连接USB只是为了充电。通常在其他ROMS和Stock ROM上我没有看到这个选项,但你可以尝试这个。 - >如果您在锁定时通过USB连接设备,则除非您将设备解锁一次,否则内部存储将无法使用。

答案 1 :(得分:2)

ADB现在不支持断开USB连接(版本1.0.39)。

" adb disconnect"只能断开" adb connect"设置的TCP连接,它无法断开USB连接。

你可以"断开"使用推送和重新连接命令作为解决方法的连接:

1.将文件推送到手机

adb -s SERIAL push somefile /data/local/tmp

2.推送仍在进行时重新连接

adb -s SERIAL reconnect

重复步骤1和2,过一会儿,您可以从" adb devices"的输出中找到此设备处于离线状态。

在kill-server和start-server之前,没有adb命令可以操作此脱机设备。

答案 2 :(得分:0)

只需使用 adb kill-server 终止连接
adb断开连接 也有效

答案 3 :(得分:0)

在设备本身上,转到“开发人员”选项。有一个“ USB调试”开关。您不需要ADB即可看到该设备时,只需关闭“ USB调试”即可。 或者,(例如,如果您想再次在设备上显示“是否信任此设备?”窗口),则可以点击“撤消USB调试授权”选项(也在开发人员选项中。点击它会撤消所有授权,包括PC的授权。这样做也会限制来自adb的访问。要重新启用该设备的adb连接,请禁用并重新启用“ USB调试”开关。这将在移动设备上强制显示“信任此设备?”窗口(应该是对此解锁)。说“确定”,您应该可以再次通过adb连接。

答案 4 :(得分:-1)

更新您的脚本以使用模拟器的ID,以便您可以将adb命令定向到模拟器:

adb -s emulator-5556 install myApp.apk 

例如:

adb -e install myApp.apk

如果您只有一个模拟器,您也可以使用' -e'将adb命令指向模拟器。

$group = [];
foreach ($data as $item)  {
    if (!isset($group[$item['date']])) {
        $group[$item['date']] = [];
    }
    foreach ($item as $key => $value) {
        if ($key == 'date') continue;
        $group[$item['date']][$key] = $value;
    }
}

使用' -d'同样可以强制命令到您的手机。