返回

VirtualBox 中通过 Windows 11 主机从虚拟机运行 adb 的完整指南

Android

在 VirtualBox 中通过 Windows 11 主机从虚拟机运行 adb

简介

在 VirtualBox 中运行 Linux 虚拟机时,你想利用主机上的 Windows 11 adb 服务器,同时从虚拟机中执行 adb 客户端?本文将逐步指导你设置反向端口转发,让你轻松实现这一目标,让你能够从虚拟机无缝访问 Windows 11 的 adb 服务。

先决条件

  • 安装并配置 VirtualBox
  • Ubuntu 20.04 虚拟机
  • Windows 11 主机已安装 adb
  • 连接到 Windows 11 主机的 Android 设备

详细步骤

1. 安装 VirtualBox Guest Additions

通过在虚拟机中运行以下命令安装 VirtualBox Guest Additions:

sudo apt update
sudo apt install virtualbox-guest-additions-iso

2. 配置网络适配器

在 VirtualBox 中,为虚拟机选择桥接适配器模式,连接到 Windows 11 主机的网络适配器。

3. 安装 SSH

在虚拟机中,使用以下命令安装 SSH:

sudo apt update
sudo apt install openssh-server

4. 启用 SSH

启用 SSH,以便从 Windows 11 主机访问虚拟机:

sudo systemctl enable ssh
sudo systemctl start ssh

5. 设置反向端口转发

在 Windows 11 主机上,通过 PowerShell 设置反向端口转发:

netsh interface portproxy add v4tov4 listenport=5037 connectport=5037 connectaddress=127.0.0.1

6. 从虚拟机运行 adb

通过 SSH 连接到 Windows 11 主机,建立反向端口转发:

ssh -L 5037:localhost:5037 user@host_ip_address

然后,你可以在虚拟机中执行 adb 命令,它们将通过反向端口转发连接到 Windows 11 主机的 adb 服务器。

示例

以下示例演示了从 Ubuntu 虚拟机运行 adb 的步骤:

# 在 Ubuntu 虚拟机中
ssh -L 5037:localhost:5037 username@192.168.1.100

# 列出连接的设备
adb devices

常见问题解答

1. 为什么需要反向端口转发?
反向端口转发允许你从虚拟机访问主机上的 adb 服务器,即使它们位于不同的网络地址上。

2. 如何验证反向端口转发是否正常工作?
你可以使用以下命令从虚拟机中 ping Windows 11 主机上的 adb 端口:

ping 127.0.0.1:5037

如果 ping 成功,说明端口转发已成功建立。

3. 如果反向端口转发不起作用怎么办?
检查 VirtualBox 中的网络适配器配置,防火墙规则和 SSH 连接。

4. 如何在 Windows 11 上安装 adb?
访问 Android 开发者网站并下载适用于 Windows 的 Android SDK,其中包含 adb。

5. 如何将 Android 设备连接到 Windows 11 主机?
使用 USB 数据线将设备连接到主机,并启用 USB 调试模式。

结论

通过设置反向端口转发,你现在可以在 VirtualBox 中从虚拟机无缝运行 adb,同时利用 Windows 11 主机的 adb 服务器。这将极大地简化你的开发工作流程,并允许你在虚拟环境和主机环境之间无缝连接和调试。