1. 虚拟化环境检查
执行以下命令安装检查工具:
sudo apt install cpu-checker
然后执行以下命令检查是否支持虚拟化:
kvm-ok
若提示正常支持虚拟化环境,则可以进行 Android 模拟器部署。如果未出现正常信息,需要检查设备是否开启虚拟化支持。
2. Android 模拟器部署
本文采用 Docker 方式部署。首先拉取镜像,官方提供多种安卓版本,具体可参考 GitHub 仓库。理论上版本越高运行开销越大,本例以 Android 9.0 版本演示。
拉取镜像:
sudo docker pull budtmo/docker-android:emulator_9.0
拉取后开始运行容器。以下命令模拟一台 Samsung Galaxy S7 的安卓设备,对外访问端口为 6080:
docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S7" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_9.0
运行后,输入 sudo docker ps 查看运行的容器,UP 状态表示正常。
在浏览器访问 Linux Ubuntu 的 6080 端口,即可看到 Android 模拟器界面。首次启动可能会较慢,如果觉得卡顿,可以部署更低配置的机型。本地测试访问成功后,需配置内网穿透以实现远程访问。
3. 安装内网穿透工具
在 Linux 系统上安装内网穿透工具,通过转发本地端口映射的 HTTP 公网地址,实现远程访问,无需注册域名或购买云服务器。
使用一键脚本安装命令:
curl -L https://www.example.com/static/downloads/install-release.sh | sudo bash
安装完成后,将服务加入系统并设置开机启动,然后启动服务:
# 加入系统服务设置开机启动
sudo systemctl enable cpolar
# 启动 cpolar 服务
sudo systemctl start cpolar
# 重启 cpolar 服务
sudo systemctl restart cpolar
# 查看 cpolar 服务状态
sudo systemctl status cpolar
# 停止 cpolar 服务
sudo systemctl stop cpolar
安装和成功启动服务后,通过局域网 IP 加 9200 端口(例如 http://192.168.xxx.xxx:9200)访问管理界面,使用账号登录后进行 Web 配置。
4. 配置公网地址
点击隧道管理创建隧道,配置 Android 模拟器的公网 HTTP 地址隧道:
- 隧道名称:自定义命名,避免重复
- 协议:选择 HTTP
- 本地地址:6080(Docker 部署后对外访问的端口)
- 域名类型:免费随机域名
- 地区:选择 VIP 区域
点击创建。
隧道创建成功后,在在线隧道列表查看生成的公网访问地址,可选择 HTTP 或 HTTPS 进行远程访问。
5. 远程访问
使用生成的 HTTPS 公网地址,在任意设备的浏览器中访问,即可查看 Android 模拟器。此方法实现了无需云服务器、无需公网 IP 即可远程访问。
小结
上述过程使用了随机公网地址,优势在于建立速度快,但缺点是网址由随机字符生成,不易记忆且 24 小时内可能变化,适合临时使用。建议长期使用固定二级子域名,便于协作。
6. 固定公网地址
由于随机地址不利于长期访问,可配置二级子域名作为固定地址。
登录管理后台,预留二级子域名,设置名称并保留。复制保留成功的二级子域名名称。
返回 Web UI 管理界面,找到对应隧道,点击编辑修改隧道信息:
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
点击更新。
更新完成后,在线隧道列表中显示的公网地址将变为设置的二级子域名名称。
7. 固定地址访问
最后,使用固定的公网 HTTPS 地址访问,确认连接成功。至此,一个固定且永久不变的公网地址设置完成,可随时远程访问本地 Android 模拟器。


