我们有测试套件,其中adb客户端连接到多个Android设备。 我们的测试套件提出了这些连接,获取设备状态和运行应用程序的请求。
我想模拟adb服务器挂起的场景。 我尝试发出“adb kill-server”,但客户端的任何adb请求都会启动adb服务器。 无论如何我们可以阻止adb服务器收听adb客户端请求吗?
当然,有很长的方法可以编译adb服务并自行更改代码。 但任何简单的方法来完成这项工作?
答案 0 :(得分:2)
您是否仍需要连接(不响应命令),或者完全终止连接是否合适?听起来像杀了连接就好了,因为你说你试过adb kill-server
。
在这种情况下,如果没有设置adb服务器来侦听网络端口,尝试以TCP / IP模式连接到设备怎么样?即类似的东西:
adb tcpip 12345
答案 1 :(得分:2)
另一个建议是在设备中完全禁用adb接口。虽然这可能会或可能不会停止adb服务器,但您仍然可以获得所需的结果,即adb客户端没有连接。 这样做的方法是在ROOTED设备上执行
adb shell
su
echo 1 > /sys/class/android_usb/f_adb/on
这是我在手边的HTC Vivid上可以做的。对于其他设备,路径可能不同,但它们应该都是相似的。重新启动手机后,adb即可重新开始工作。