我正在设置一些测试,它需要相当数量的手机进行 USB 连接和配置。一旦它们被绑定(bind),我已经成功地按照我想要的方式配置它们,但是每次(重新)启动我的计算机或移动测试库时,通过导航菜单来绑定(bind)手机会非常乏味.我目前使用的是运行 cyanogenmod v10.1.0 的 Nexus S 手机,但测试库可能是三星 Galaxy S4,可能与我手头的几部 Nexus S 手机混合使用。
我想以 bash 脚本的形式执行此操作,但我试图首先让它在命令行 (Ubuntu 13.04) 上运行,以消除可能来自脚本的问题。我应该能够自己处理将其制作成脚本,但如果以 bash 脚本的形式提供答案很简单,请这样做。我尝试对设备进行炮击 (adb -s $deviceID shell
) 并运行:
setprop sys.usb.config rndis,adb
这会立即将我踢出设备外壳,并且无法再访问该设备。如果我运行 adb devices
,我会看到手机显示“?????????? No Permissions”,此时我必须拔下 USB 数据线,然后重新插入,并使用 adb kill-server
adb start-server
重新启动 adb 服务器。这将不起作用,因为我无法访问电话以进行我需要的配置更改。
我四处搜索,但一直找不到任何有用的东西。有什么建议吗?
最佳答案
必须有 root 权限才能使用 setprop
更改值,而且我使用的是没有 rndis 驱动程序的 Mac 操作系统,所以我无法测试您的 USB 网络共享方法。另一种方式,如果您有连接服务(adb shell 服务列表
):
以下命令在 Android 4.3 中调用 ConnectivityManager.setUsbTethering(boolean enable)
:
adb shell su -c service call connectivity 34 i32 1
打开 USB 网络共享。
adb shell su -c service call connectivity 34 i32 0
关闭 USB 网络共享。
对于其他 Android 版本,将 34
替换为以下 setUsbTethering
每个 Android 版本的调用代码:
4.4.4: 34
5.1.0: 30
6.0.1: 30
7.0.0: 33
关于android - 是否可以通过终端使用 adb 将 Android 设备 USB 系绳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20226924/