原文作者:loongwind

原文链接:Android 外网远程连接真机进行开发调试 - 掘金

本文主要介绍如何在外网远程连接真机进行开发调试,比如你的备用机在家里你又想在公司远程连接进行一番调试(不要问我为啥不把手机带在身上),不多说直接开始。

0、思路

我们知道 Android 手机可以通过 tcpip 命令打开远程调试端口,在内网就可以通过 ip 使用 adb 进行远程连接了。但是如果在外网这种方法就不行了,因为我们的手机没有公网 ip ,无法通过 ip 直接连接手机。

所以我们这里使用 frp 内网穿透来实现,即通过内网穿透将手机代理到外网,这样我们就可以使用 adb 来进行连接了。

1、准备

  • 电脑一台
  • Android 手机一台
  • 具有公网ip的服务器一台:内网穿透服务器
  • frp:内网穿透程序
  • QtScrcpy: Android 投屏软件,使用 adb 连接手机将手机画面投屏到电脑,并可通过电脑控制手机

2、实现

2.1、打开手机的远程调试端口

首先开启手机的 USB 调试模式,将手机通过 USB 连接电脑,使用 adb 命令打开远程调试端口:

adb tcpip 5555
复制代码

2.2、安装 frp

frp分为服务端和客户端,我们需要将服务端安装到你公网的服务器上,将客户端安装到手机里。frp 下载地址:github.com/fatedier/fr… ,根据你的服务器系统下载对应版本。

2.2.1 安装 frp 服务端

因为我的服务器是 Linux 系统的,所以我这里下载的是 linux-amd64 的 frp 包,将其上传到服务器解压, frps.ini 默认配置内容:

[common]
bind_port = 7000

即默认监听 7000 端口作为我们的 frp 服务端口,你也可以改成其他端口,然后通过命令启动 frp 服务:

./frps

运行 frps 即启动了我们的服务,也可以使用 nohup 命令将服务放到后台一直运行:

nohup ./frps &

2.2.2 安装 frp 客户端

客户端就需要安装到手机里,我们下载对应手机平台的 frp 版本 linux-arm64,如果是其他架构的手机选择下载对应版本的即可。

下载完成后将 frp 解压然后上传到手机的 /data/local/tmp 目录下,注意只能是这个目录,其他目录下执行命令会报错。然后修改 frpc.ini 配置文件的内容:

[common]
server_addr = x.x.x.x #frp 服务器的ip
server_port = 7000  # frp 服务端口[adb] # 名称 随便取
type = tcp
local_ip = 127.0.0.1 # 手机本地地址
local_port = 5555 # 手机调试端口,即第一打开的调试端口
remote_port = 8555 # frp服务穿透的端口

8555为 frp 服务穿透的端口,需要开放防火墙便于后面使用 adb 连接

配置好后,使用 adb 上传到手机:

db push frp_0.38.0_linux_arm64 /data/local/tmp/frp

然后使用启动 frp 客户端服务

cd /data/local/tem/frp
./frpc
#后台运行
nohup ./frpc &

frpc 即客户端服务。

2.3 连接

上面我们已经将我们的 frp 安装配置好了,这样我们就可以通过外网访问我们手机的远程调试端口了。 使用 adb 进行连接:

adb connect x.x.x.x:8555

然后使用 adb device 看一下是否连接成功:

List of devices attached
x.x.x.x:8555    device

可以看到我们已经连接成功了,这个时候我们就可以通过 adb 进行远程调试了,比如安装应用调试。

2.4、使用 QtScrcpy 将远程设备投屏到电脑

上一步我们已经实现了远程连接手机了,但是我们看不到手机的画面,没法进行手机的操作,所以我们需要使用到 QtScrcpy 这款软件,将远程手机的画面投屏到电脑,并可以使用电脑控制手机。

选择对应的版本下载安装,安装完后启动软件

启动后刷新设备列表就能看到我们上面使用 adb 连接的远程设备了。也可以直接使用下面的无线连接直接进行连接。 选择设备进行连接后就能看到我们的手机画面了,并且能够进行控制:

到此,我们就实现了远程连接手机并对手机进行控制了。

Android 外网远程连接真机进行开发调试相关推荐

  1. 无公网IP,外网远程连接MySQL数据库

    哈喽~大家好,这篇来看看无公网IP,外网远程连接MySQL数据库. 文章目录 前言 1. 检查mysql安装状态 2. 安装配置cpolar内网穿透 3. 创建tcp隧道,映射3306端口 4. 公网 ...

  2. Windows10实现外网远程连接

    Windows10实现外网远程连接 记录一下自己配置远程桌面的过程 第一步先实现内网远程桌面连接 首先设置电脑允许远程控制回到桌面,右击我的电脑,属性,找到远程设置 勾选允许远程连接 然后点击选择用户 ...

  3. 内网服务器如何提供外网远程连接访问

    在局域网本地网络环境时,我们一般用远程桌面连接来访问内部windows服务器,或在个人电脑上用SSH客户端来远程访问内网的Linux主机.远程桌面连接和SSH都是系统自带的,且可以通过简单配置即可以开 ...

  4. php远程连接真机实现,搭建nextcloud私有云存储网盘的教程详解

    Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了Windows ...

  5. 实现外网远程连接服务器:Natapp使用教程

    前言: 实验室的服务器只能在内网访问,在外面就不能连接服务器,非常不方便,于是想通过外网穿透的方式,在不连接实验室局域网的情况下连接到实验室的服务器. 本人用的natapp软件,亲测可用,其实nata ...

  6. Android Studio远程连接真机

    1.下载Cisco客户端(应用商店或者去官网). 2.需要确保手机和电脑在同网络.(需要手机通过Cisco客户端连接到公司wifi) 3.手机开发者选项,启用无线调试,在远端android studi ...

  7. HBuilderX 连接真机或者模拟器调试后不能运行ADB.exe的解决

    出现这种情况的原因一般都是默认的运行配置造成的,默认可能直接用到模拟器的adb.exe,但是应该要HBX内置的adb才不会报错. 一.打开工具--设置(快捷ctrl+,)-- 运行配置 二.点击浏览, ...

  8. 外网怎么连接3389远程桌面

    3389端口是Windows远程桌面的服务端口,通过这个端口用"远程桌面"等连接工具来连接远程计算机,输入系统管理员的用户名和密码,可实现像操作本机一样操作远程计算机. 一.开启电 ...

  9. Android Studio 连接真机测试

    目录 环境 步骤 第一步:首先排除是数据线的问题,这里不作赘述. 第二步:检查 SDK. 1.打开设置,如图 Settings... 2.点击左侧栏 Android SDK 3.点击 Troubles ...

  10. 外网远程桌面连接设置

    外网远程桌面连接设置 听语音 浏览:14925 | 更新:2016-08-09 11:33 返回 暂停 重播 播放 x <div class="jw-preview jw-reset& ...

最新文章

  1. 最牛X的GCC 内联汇编
  2. 前方高能 | 容器化应用操作原来可以这样简单
  3. servlet学习--Cookie小应用
  4. Scrapy框架的学习(6.item介绍以及items的使用(提前定义好字段名))
  5. 《LoadRunner 12七天速成宝典》—第2章2.6节第二个性能测试案例
  6. 云端:亚马逊,谷歌应用引擎,Windows Azure,Heroku,Jelastic
  7. Java集合---Arrays类源码解析
  8. 【androidjniNDk】详细介绍每一步,让你轻松掌握android JNI NDk
  9. 使用hiredis接口(Synchronous API)编写redis流水线客户端
  10. 换种思路去理解设计模式(上)
  11. 中国新一代海洋综合科考船“科学”号返回母港
  12. linux 传真 邮件,基于Linux的传真系统(转)
  13. 值得收藏!深度报告解读NB-IoT
  14. STM32F4xx固件库分析
  15. 10年老程序员:到底是学前端好还是后端好?
  16. Qt编译报错:Error in Util.asciify(build-Project1_msvc-Desktop_Qt_5_8_0_MSVC2015_32bit_qt_58_w-Debug)
  17. jquery 录屏_Fundebug录屏插件更新至0.6.0
  18. accept4: too many open files; retrying in 1s
  19. 四大类好用的科研工具分享
  20. 国家计算机报名730,730分学霸杨晨煜被清华智班录取!学习的专业是......

热门文章

  1. Typora无法打开提示安装新版本解决办法
  2. 如何透过表象直达本质
  3. 溯源项目(全套源码)
  4. java rsa模块_【HAVENT原创】NodeJS 两个模块进行 RSA 加密解密(匹配Java RSA)
  5. SpringMVC(三) --------- SSM 整合开发案例
  6. macos复制粘贴快捷键 快速_苹果电脑复制粘贴快捷键是什么 如何操作【图文】...
  7. 架构师之路 — 架构师的职责
  8. UWCN开源的Pay企业级开源聚合支付系统
  9. 阿里云首席安全研究员吴翰清:我人生的两次选择
  10. android模拟器root权限获取,如何在Android模拟器上获得root访问权限?