OpenSTF 中有一个远程 Debug的功能,可以执行完adb connect
一个地址后,就可以对远方的手机进行各种 adb 操作了。
这个功能 STF 早已把它开源 https://github.com/openstf/adbkit 但只是没有写到文档里去而已。原本只能使用 js 代码来调用这个功能,我提了一个简单的pr,使得该功能可以用在命令行下调用。下面具体说下使用方法
安装 nodejs
推荐使用 nvm 安装
安装 adbkit
$ npm i -g adbkit
启动 usb 转 tcp 服务
$ adbkit usb-device-to-tcp -p $port $serial
再另一台装有 adb 的机器上进行设备的连接
假设启动 adbkit 服务的机器 ip 是 10.0.0.1 端口是 15555
$ adb connect 10.0.0.1:15555
感谢openSTF项目
adbkit 是 stf 的精华。
@zangtian2 你想要的是不是这个?
好用
这个功能果然强大 ,可以直接外网远程手机,试了下速度也挺快
STF 精华中的精华...
adbkit 貌似不是通过 adb forword 实现的,兄台知道 adbkit 的实现原理吗
$serial 参数是什么?
大神 请教一下 这个 adb connect 后边的端口号 是不固定的,有什么方法可以让这个端口固定么?
已经安装好了,报错提示如下,求大神指点
'adbkit' 不是内部或外部命令,也不是可运行的程序或批处理文件。
@IT小君
你要这样子启动才可以
@IT小君
然后在这样子执行就可以了
这个 adbkit 本质上还是手机连接着 usb,并没有正常断开 usb,只是通过代理去分配一个端口号,然后通过这个端口号就可以访问到你手机,如果你连接成功后,在把 usb 断开,你就没法再访问到你手机了
其实就是不能在 adb forword 访问了
请教一下,电脑上有多个 ADB DEVICES 也可以这样分配端口,然后别的机器能 adb connect IP:PORT 来连接这台电脑上的安卓设备吗?
精华!!!
不是,是当时 adb 最新版本变化延伸的问题,github 上面有人给出了解决方法,改一下 adbkit 下面的一个 js 文件然后就可以了,不过到后面发现装最新的 adbkit 也已经处理了这个问题。
(https://github.com/openstf/stf/issues/1030)
如果代码引用 adbkit,进行端口转发怎么搞
能否在开发者模式下实时调试 adbkit 项目,遇到一些 bug 想本地调试下
今天才发现大佬的这个帖子。。膜拜一下先
学习了!!
如果想要批量将 serial 转成 端口,这个命令能支持吗?还是说要每个线程跑一个这个命令