You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于新版Android SDK,如何为无头模拟器启用VNC?Jenkins测试场景

如何为新版Android SDK的无头Ranchu模拟器启用VNC(适配Jenkins插桩测试)

我之前在搭建Jenkins Android自动化测试环境时,刚好碰到过一模一样的需求——给无头运行的Ranchu模拟器开VNC,方便调试插桩测试的执行情况。其实Ranchu虽然是Android定制的模拟器架构,但它底层还是基于QEMU的,所以VNC参数依然能用,只是需要用正确的方式传递给底层QEMU进程,下面是具体的配置步骤和修改后的命令:

1. 先创建目标AVD(和你原来的命令一致)

先指定要使用的系统镜像包,然后创建名为test的AVD:

export ANDROID_PACKAGE="system-images;android-25;google_apis;armeabi-v7a"
echo "no" | avdmanager create avd -f -k $ANDROID_PACKAGE -n test -b google_apis/armeabi-v7a

2. 启动带VNC支持的无头模拟器

新版Android模拟器不会直接识别裸的QEMU参数,所以需要通过-qemu选项把VNC参数转发给底层的QEMU进程。修改后的启动命令如下:

emulator64-arm -avd test -noaudio -no-window -ranchu -gpu off -verbose -qemu -vnc :0

这里的-vnc :0就是告诉QEMU在5900端口开启VNC服务(:0对应端口5900,:1对应5901,以此类推),你可以根据服务器的端口占用情况调整这个数字。

一些实用的注意事项

  • 端口验证:启动模拟器后,可以用netstat -tulpn | grep 5900(Linux环境)来确认VNC端口是否已经正常监听。
  • VNC连接:用任意VNC客户端(比如RealVNC、TigerVNC)连接你的Jenkins服务器IP:5900,就能看到无头模拟器的实时画面了,方便调试插桩测试的执行过程。
  • Jenkins环境适配:如果是在Jenkins容器或虚拟机中运行,要确保5900端口已经开放,或者通过Jenkins的端口映射配置让VNC客户端能访问到这个端口。
  • 性能优化:你原来的命令里已经加了-noaudio、-no-window、-gpu off,这些都是CI环境下无头运行的最优配置,能减少资源占用。

内容的提问来源于stack exchange,提问作者narfman0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:15:34