目录

  • 需求
  • ADB端口说明
  • 远程连接步骤
    • 启动模拟器
    • ADB连接
    • 端口映射
    • 远程连接

需求

Android Studio 高版本已经可以使用 Pair Devices Using Wi-fi 功能连接同一局域网下的真机设备了,低版本也可以使用Android adb wifi 插件完成无线调试,还是比较方便的。但是,如何连接同一局域网下的模拟器,实现远程调试呢?这是本文需要解决的问题。

由于个人开发条件受限,模拟器运行内存消耗不小,在一个机器上开发调试设备压力比较大,切换窗口查看也不是很方便。平时工作时,是两台设备使用Mouse without Borders 共享键鼠,但毕竟是两个主机,交互有些不方便。在一台机器上开发,在另一台机器上运行模拟器调试,就是我的需求了。

ADB端口说明

模拟器运行时会有一个启动控制台,第一个模拟器控制台默认端口是5554,对应的ADB连接端口是5555。两个端口号默认相邻,ADB端口比控制台端口大1。对应关系举例如下:

模拟器 1,控制台:5554
模拟器 1,adb:5555
模拟器 2,控制台:5556
模拟器 2,adb:5557
依此类推

知道了端口关系,才能输对连接命令。

远程连接步骤

这里将运行AndroidStudio的主机称为开发端,将运行模拟器的主机称为调试端。

启动模拟器

启动模拟器之前需要安装模拟器,这里使用Android Studio AVD Manager 事先生成好的模拟器。因为不需要启动Android Studio,所以这里直接使用命令行的方式启动模拟器。

找到Android Sdk安装目录,我的是:

C:\Users\user\AppData\Local\Android\Sdk\

和模拟器文件所在目录,我的是:

C:\Users\user\.android\avd

模拟器目录下会有模拟器的名称,启动命令中会用到。
启动命令如下:

.\emulator\emulator.exe -avd Pixel_XL_API_31

emulator.exe在 android Sdk 目录下的emulator目录里。-avd 参数指定要启动的模拟器名称。

启动后,保持控制台窗口开启,不然会关闭模拟器。输入Ctrl+C可手动关闭模拟器。

如果启动失败需要查看端口是否被其他程序占用,默认启动的第一个模拟器需要 5554,5555两个端口都可用。

由于模拟器启动占用了控制台,我们需要另开控制台执行后续命令。

查看端口占用:

Netstat -ano|findstr "5554"

ADB连接

模拟器运行之后,需要连接ADB,完成桥接。然后在开发端连接调试端的ADB接口。

模拟器启动时一般会自动启动ADB服务。

ADB可执行程序所在位置在Android Sdk目录下的platform-tools目录下。

查看启动的模拟器名称和控制台端口:

.\platform-tools\adb.exe devices

可以看到输出结果为:

List of devices attached
emulator-5554

表明,模拟器控制台端口为5554,那么可知adb连接端口为5555。

端口映射

现在adb已经连接了模拟器,端口为5555,但是仅能在本地访问。要想在开发端连接模拟器,还需要将端口映射到外网。

相关命令如下:

添加端口转发:
netsh interface portproxy add v4tov4 5555 127.0.0.1 5555查看端口转发情况:
netsh interface portproxy show all删除端口转发:
netsh interface portproxy delete v4tov4 listenport=5555 listenaddress=* protocol=tcp

正常情况下执行第一条命令即可。

要想外网访问,还需要设置防火墙以放行5555端口。

找到 Windows Defender 高级安全功能。

点击入站规则 - 新建规则


选择端口,下一步,输入放行端口 5555,其他默认,最后一步名称自取。比如:ADB远程调试5555。

远程连接

以上设置都是在调试端完成,目的就是开放模拟器的ADB连接端口5555。然后在开发端 Android Studio Terminal 窗口输入:

adb connect 192.168.0.110:5555

192.168.0.110是调试端的ip地址,这样即可完成连接。

查看连接的设备状态:

adb devices

Android Studio远程连接模拟器调试相关推荐

  1. Android Studio远程连接真机

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

  2. Android Studio与夜神模拟器开发调试

    什么是夜神模拟器? 夜神模拟器是北京多点在线科技有限公司开发的一款Android手机游戏模拟器, 运行速度快,使用方便,是一款PC平台玩手游,助攻Android开发的利器 使用Android Stud ...

  3. android Studio 无法连接华为mete 手机进行调试

    android Studio 无法连接华为mete 手机进行调试     我的计算机不知道什么原因,突然连接华为的手机不能调试,甚至我买了一部新的手机,是不是手机功能坏掉了呢?结果还是不行,我的ecl ...

  4. Android Studio与夜神模拟器进行连接以及连接中出现的问题

    本文使用夜神模拟器自带的nox_adb.exe在Android Studio中连接夜神模拟器. 1.在夜神模拟器的安装路径下,bin文件夹下有个nox_adb.exe文件,复制路径 如图: 2.下一步 ...

  5. Android Studio怎样连接夜神模拟器

    Android Studio怎样连接夜神模拟器 ps:连接模拟器必须将Android Studio跟模拟器同时打开 方法一:CMD中输入代码 操作步骤:(路径查询方法附于文末) 1.首先是打开CMD: ...

  6. Android studio 突然连接不上雷电/夜神模拟器

    Android studio 突然连接不上夜神模拟器 ##解决办法: ###1.找到夜神模拟器的bin地址,然后进入cmd命令行 截图如下: ###2.执行命令 nox_adb.exe connect ...

  7. Android Studio如何连接第三方模拟器

    1. 前言 如果大家用过Android Studio自带的模拟器,应该都深有体会,很吃电脑配置.如果电脑配置较差,模拟器用起来那叫一个卡啊!不过现在市面上有很多种模拟器了,例如:夜神模拟器.雷电模拟器 ...

  8. Android Studio链接夜神模拟器

    现在很流行用android studio来开发android项目,一般第一都是考虑用夜神模拟器来助攻android开发,原因就是夜神模拟器运行速度快,使用方便,那么就要使夜神模拟器与android s ...

  9. android studio 安装genymotion模拟器教程

    一.注册\登录 打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行登录操作.如何登录就不细讲了,下面讲一下如何注册(备注:注册按 ...

最新文章

  1. sql常用语句使用方法
  2. material-ui_满足Material-UI —您最喜欢的新用户界面库
  3. iOS之高德地图定位偏移以及经纬度之间的转换
  4. 企业选择 多云管理平台 六大注意事项
  5. List、Map、Set之间的联系与区别:
  6. python的装饰器很有用吗_你真的了解python装饰器么
  7. Shared library can't open object
  8. Mcafee(麦咖啡)8.5i 使用设置图解 --服务器
  9. 区块链开发完整指南。如何开发一款区块链项目?
  10. 云服务器搭网站需要买域名吗,买了云服务器还要买域名吗
  11. DNS添加/修改/查询/删除A记录
  12. 以太网物理层信号测试与分析
  13. php Spreadsheet Csv,使用 PhpSpreadsheet 实现读取写入 Execl
  14. 能登录163网页邮箱但不能创建或登录foxmail问题的解决
  15. 批量一次性查找并替换多个 Word 文档中的相同的关键字
  16. Day10 空时编码理论之无线信道、分集和复用
  17. cycleInterpolator 循环加速器
  18. 看两种截然不同的设计理念:分布式文件系统支持大和小文件的思考
  19. 清华计算机考研任昱鑫,牛!赣州6名学霸提前被清华北大“锁定”!来自这些学校…...
  20. 文本处理的应用和编码文本历史

热门文章

  1. 中央农村工作会议释放重要信号,AI 技术助力农业的十种路径,未来可期
  2. 小程序如何引导添加个人微信号
  3. 「Spark从入门到精通系列」4.Spark SQL和DataFrames:内置数据源简介
  4. 苹果手机python3ide闪退_【报Bug】IOS 12.3 app在非特定页面频发闪退
  5. uc 浏览器不能打开网页
  6. mina自定义编解码
  7. Go语言实战之数组的内部实现和基础功能
  8. 2022电赛省一-小车跟随行驶系统(C题)
  9. Python3+wxPython3+robotframwork+ride3安装步骤
  10. python123 第四次作业_第四次作业