VirtualBox 中通过 Windows 11 主机从虚拟机运行 adb 的完整指南
2024-03-16 07:47:54
在 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 服务器。这将极大地简化你的开发工作流程,并允许你在虚拟环境和主机环境之间无缝连接和调试。