Android Studio远程连接模拟器调试

Posted PeterGamp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio远程连接模拟器调试相关的知识,希望对你有一定的参考价值。

目录

需求

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连接雷电模拟器调试

一、下载雷电模拟器,安装完成后打开
下载地址:https://www.ldmnq.com/
二、进入模拟器的桌面,系统应用—>打开设置—>点击关于平板电脑,连续点击5次版本号–>会出现开发者选项—->进入开发者选项—->勾选usb调试。



三:按win+r,输入cmd打开命令控制器,将目录切换到你安装雷电模拟器的文件夹下,我的模拟器的安装目录如下:

接下来,adb连接端口,端口可以是(5555+index*2)(index=》0)即5555,5557,5559等等,不同的模拟器对应的端口不同:
夜神模拟器:adb connect 127.0.0.1:62001
逍遥安卓模拟器: adb connect 127.0.0.1:21503
天天模拟器:adb connect 127.0.0.1:6555
海马玩模拟器 :adb connect 127.0.0.1:53001
网易MUMU模拟器:adb connect 127.0.0.1:7555

雷电模拟器输入命令并回车:adb.exe connect 127.0.0.1:5555

四、打开android studio,将程序run起来,在logcat就会收到模拟器的链接信息,选择雷电模拟器

上面红框中的设备信息与我的雷电模拟器的机型一样,代表已经连接上雷电模拟器

至此,连接完毕。

以上是关于Android Studio远程连接模拟器调试的主要内容,如果未能解决你的问题,请参考以下文章

android studio连接雷电模拟器调试

Android Studio Adb 连接报错:一个现有连接被远程主机强行关闭

android studio怎么使用真机调试

同步期间Android studio错误:远程主机强行关闭现有连接

Android Studio 解决ADB检测不到手机导致无法连接的问题

使用chrome远程调试设备及调试模拟器设备