ADB远程桌面连接本地手机

这篇具有很好参考价值的文章主要介绍了ADB远程桌面连接本地手机。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

由于各种不可抗力,如疫情、公司暂停空调等原因,很多人被迫居家办公。对于Android开发者来说,最难受的莫过于远程无法连接手机,无法调试的问题。这里介绍一种远程桌面可以连接到本地手机的方法。

二、ADB数据转发

1、介绍

在Android上,adb默认占用的是5037端口,我们可以通过端口转发的形式来将adb的数据转发到远程,这里有一个工具adbportforward。

adbportforward有Client和Server的概念,Server就是手机的提供方,而Client则是手机的使用方,在这里Client代表我们登录的远程桌面,Server代表我们使用的电脑,在使用的电脑上面插手机设备。

2、使用

具体使用可见adbportforward wiki:

Server端配置:

java -jar adbportforward.jar server adblocation=[adb location] port=6037

设置adb地址(这里是adb.exe的上一级地址),然后设置端口(默认是6037)

Client端配置:

java -jar adbportforward.jar client adblocation=[adb location] remotehost=10.xxx port=6037

设置adb地址,然后设置需要连接到的远程host(也可以是IP),然后设置远程host的端口(默认是6037)

3、原理

查看adbportforward发现,它是通过转发端口数据来实现通信的。

Server端:

myPortForward = new PortForward( serverPort, "127.0.0.1", 5037 );
myPortForward.start( Executors.newCachedThreadPool() );

serverPort代表需要暴露的端口,将本地的5037与serverPort进行相互转发

Client端:

myPortForward = new PortForward( 5037, myRemoteHost, myRemotePort );
myPortForward.start( Executors.newCachedThreadPool() );

myRemoteHost和myRemotePort是需要连接的主机以及其暴露的端口,将本地的5037端口与远程端口之间互相转发。

理想情况下,Client的myRemoteHost就对应Server的IP,myRemotePort就对应Server暴露的serverPort,这样我们就打通了从远程桌面到本地桌面的连接,adb就可以正常使用了。

三、建立隧道

1、公网IP

一般来讲,我们家用的宽带是运营商使用NAT方式形成的组网,这种情况下,很多条宽带公用一个公网ip池,我们虽然可以访问互联网,但是从互联网却不能访问到我们家里的设备。那这样的话adbforward无法建立socket连接,也就无法使用。

可以先向运营商申请一个公网ip,这个ip是隔一段时间变化的,但是可以使用,拿到公网ip之后,需要将光猫改成桥接模式,然后修改拨号方式以及端口映射,这个网上有其他教程,这里就不做展开了,如果在baidu上面查到的ip与我们路由器的ip一致的话,代表成功了。

有些地方运营商可能不想提供ip,或者说只有某些套餐才提供公网ip,这样我们就没有办法使用公网ip了,那么就引出了内网穿透

2、内网穿透

内网穿透通俗的来讲,就是把我们本地的机器,通过一个中间服务器,转发到互联网上去,这样其他地方就可以访问本机的内容了,但是这里有个前提,就是必须要有一个拥有公网ip的中间服务器做一次转发才可以,所以传输速率取决于远程、本机、服务器之中带宽最小的那个。

1)FRP

frp是一个开源的内网穿透工具。如果有腾讯云或者阿里云之类的服务器,我们可以用frp来实现内网穿透。

frp的使用比较简单,

服务端:

frps.ini

[common]
bind_port = 7000

然后启动./frps -c frps.ini

客户端:

frpc.ini

[common]
server_addr = XX.XX.XX.XX
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

server_addr是服务器的公网ip,server_port对应上面的bind_port,type这里由于我们使用socket,所以选择tcp,local_ip与local_port默认即可,remote_port是开放出去的端口,我们的adbforward在Client端就使用这个端口。

设置完之后,客户端启动./frpc -c frpc.ini。

设置完成之后,如果输出正常,我们就可以通过adbforward进行连接了。

但是要注意的一点是,阿里云这些默认都有端口限制,所以要在安全组这里把我们需要映射的端口放开。

2) Sakura frp

Sakura frp也是一个内网穿透工具,只不过它帮我们充当了公网服务器的职能,也就是说,我们只要使用Sakura建立隧道,然后远程连接隧道的ip就可以了。这个软件有免费的流量限额,签到可以获取流量,比较良心。

注册账号,下载软件之后,建立tcp隧道,参数使用默认即可(Server port默认22),然后打开隧道,我们可以看到如下的日志:

Tunnel/GOWIYN5Z TCP 类型隧道启动成功
Tunnel/GOWIYN5Z 使用 [XXX.cloud:45208] 来连接到你的隧道
Tunnel/GOWIYN5Z 或使用 IP 地址连接(不推荐):[XX.XX.XX.XX:45208]

现在我们可以使用adbforward了,Server端端口设置为22,Client端设置host与端口如上面日志所示,然后就发现可以正常使用adb了。

四、结论

打通隧道,以及连接adbforward成功之后,远程桌面就可以像正常的桌面一样使用adb来调试手机了文章来源地址https://www.toymoban.com/news/detail-548478.html

到了这里,关于ADB远程桌面连接本地手机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为二面:adb 连接 Android 手机的两种方式,看完你就懂了

    随着现在移动端技术的突飞猛进,导致现在市场上,APP 应用数不胜数,那对于测试工程师而言,对于 APP 的测试,那基本就是一个必修课了。 今天,我就来给大家介绍一下,adb 连接 Android 手机的两种方式 先使用 USB 线,连接 PC 和手机 通过 PC 给手机安装 adb 驱动,下载好安

    2024年02月09日
    浏览(56)
  • 阿里二面:adb 连接 Android 手机的两种方式,看完你就懂了...

    随着现在移动端技术的突飞猛进,导致现在市场上,APP 应用数不胜数,那对于测试工程师而言,对于 APP 的测试,那基本就是一个必修课了。 今天,我就来给大家介绍一下,adb 连接 Android 手机的两种方式 先使用 USB 线,连接 PC 和手机 通过 PC 给手机安装 adb 驱动,下载好安

    2024年03月22日
    浏览(53)
  • 如何使用adb控制手机_adb 连接手机

    一、介绍 AndroidDebug Bridge 我们一般简称为adb,它是一个非常强大的命令行工具,通过adb工具,你能够与你的android设备进行通信。使用adb命令是可以操控手机的,比如点击、滑动、输入等。在操控手机之前要先连接上手机,下面先来看下adb如何连接手机。 二、下载adb工具 官网

    2024年02月20日
    浏览(40)
  • WiFi连接手机adb,怎么连接wifi adb?

    怎么连接wifi adb 首先必须在同一网络下(本人用的台式机网线+手机连路由器WIFI) 1.先确认USB数据线是否成功链接了手机 不管前面设备是什么名字,但是后面必须为 device状态 才算链接成功了, offline状态 是不行的 有些 没开启开发者模式 ,需要去手机设置中,手机系统信息

    2024年02月05日
    浏览(44)
  • 电脑ADB连接手机的方式&通过网络无法adb连接手机的问题(已解决)

    首先电脑要下载adb工具,将压缩包解压到C盘:https://download.csdn.net/download/qq_43445867/87975072 打开手机USB调试;PC端安装手机USB驱动。 1.打开DOS命令窗口,进入adb文件夹,输入adb.exe devices回车列出设备列表 2.输入adb -s 611AZ***** shell连接自己的设备 找到当前手机的IP地址,一般都在“

    2024年02月14日
    浏览(77)
  • 【教程】N2N V3内网穿透、异地组网,包括Win/Linux/Android,包括不同内网实现adb远程连接

    目录 一、背景 二、Linux 配置 并运行 N2N - Supernode (必选) 三、Linux -- 配置 并运行 N2N - 边缘节点配置 Edge(可选步骤) 四、Windows -- 配置 并运行 N2N - 边缘节点配置 Edge (可选步骤) (一)配置 TAP 虚拟网卡 (二)配置 N

    2024年02月21日
    浏览(68)
  • adb连接安卓手机

    提示:这里主要记录电脑通过adb命令连接安卓手机操作 1、电脑本地上需要安装配置好Android SDK 安装网址:link 2、手机的USB连接线是完好无损坏的,可以进行传输数据 1、手机上开启开发者选项 首先需要开启Android设备的开发者选项和允许USB调试。 1) 打开手机找到【设置】--找

    2024年02月16日
    浏览(36)
  • adb 通过 无线连接手机

    1、Android设备和电脑连接在同一局域网上 2、Android设备先用USB连接,adb devices查看是否连接成功 3、 adb tcpip 555,让设备在5555端口监听tcp/ip连接 3、找到手机在局域网的ip地址,后续就可以直接通过ip连接了  4、通过ip连接设备,adb connect ip地址   5、确认连接状态, adb devices 6、多

    2024年02月09日
    浏览(33)
  • adb连接手机

    在手机上启用USB调试 CMD窗口输入adb devices,此时可以看到自己的设备。 PS:无法看到自己设备时,查看手机USB调试是否打开;PC端是否安装手机驱动。 android 11以及以上版本 手机和电脑需连接在同一 WiFi 下 手机启用开发者选项和无线调试模式 允许无线调试后,选择使用配对码

    2024年02月07日
    浏览(36)
  • adb wifi 远程调试 安卓手机 命令

    使用adb wifi 模式调试需要满足以下前提条件: 手机 和 PC 需要在同一局域网下。 手机需要开启开发者模式,然后打开 USB 调试模式。 具体操作步骤如下: 将安卓手机通过 USB 线连接到 PC。(连接的时候,会弹出请求,同意就可以) 在 PC 的命令行窗口中输入下面命令查看安卓

    2024年01月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包