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