让Android adb支持互联网调试脱离局域网

某些特殊场景下由于不方便,手机不在身边,但需要进行adb调试。

首先可以先开启adb的无线调试模式,我使用的是第二种方式。

在Android手机上安装一个终端模拟器,并赋予root权限,随后执行:

bash 复制代码
setprop service.adb.tcp.port 5555

stop adbd

start adbd

这样adb就支持了局域网调试,假设手机的IP是192.168.0.100,端口是5555

则我们可以使用tcnat开源项目:https://github.com/cih1996/go-tcnat

这是一款可以让内网端口穿透的开源项目,但是需要自己有一个服务器。

按照文档说明,在服务器运行server端。

随后在自己的电脑上配置client.json

bash 复制代码
{
    "server": {
        "host": "129.204.22.xxx",
        "main_port": 8080,
        "transfer_port":7077
    },

    "list": [{
        "tag": "pixel-adb",
        "server_port": 5555,
        "local_addr": "192.168.0.100:5555"
    }
]
}

其中129.204.22.xxx就是服务器的IP地址,而下面的list就是本地的adb端口,server_port则是服务器的监听端口,同样也用的是5555,最后开启tcnat进行穿透。

此时,我就可以在其他电脑使用

adb connect 129.204.22.xxx:5555连接到手机,即使不在同一个局域网。

最后还可以使用vysor这类工具实现投屏

相关推荐
万能的小裴同学39 分钟前
Android M3U8视频播放器
android·音视频
q***57741 小时前
MySql的慢查询(慢日志)
android·mysql·adb
JavaNoober2 小时前
Android 前台服务 "Bad Notification" 崩溃机制分析文档
android
城东米粉儿2 小时前
关于ObjectAnimator
android
翔云1234563 小时前
MySQL 机器重启后,gtid_executed 是如何初始化的
数据库·mysql·adb
zhangphil3 小时前
Android渲染线程Render Thread的RenderNode与DisplayList,引用Bitmap及Open GL纹理上传GPU
android
d***95624 小时前
docker 安装 mysql
mysql·adb·docker
3***89194 小时前
开放自己本机的mysql允许别人连接
数据库·mysql·adb
火柴就是我4 小时前
从头写一个自己的app
android·前端·flutter
lichong9515 小时前
XLog debug 开启打印日志,release 关闭打印日志
android·java·前端