You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Mac上运行thyrlian/AndroidSDK Docker镜像时安卓模拟器异常问题求助

解决Mac环境下thyrlian/AndroidSDK Docker镜像模拟器黑屏/崩溃问题

我之前在Mac Intel(Monterey系统)上折腾过这个镜像,碰到过几乎一模一样的问题,给你几个亲测有效的解决方向:

1. 强制添加--no-sandbox参数解决崩溃问题

你提到的Running as root without --no-sandbox is not supported报错,虽然指向旧PR,但现在的安卓模拟器确实对root用户运行有这个限制。启动模拟器时必须加上这个参数,比如:

emulator -avd android-24-default --no-sandbox

如果每次手动加麻烦,可以修改AVD的配置文件:进入容器后编辑/root/.android/avd/android-24-default.avd/config.ini,添加一行:

emulator.options=--no-sandbox

2. 关闭硬件加速+调整VNC分辨率解决黑屏

Docker容器内的图形环境对硬件加速支持不好,加上XCB的错误,大概率是图形渲染的问题。启动模拟器时加上-gpu off强制用软件渲染,同时调整VNC的分辨率匹配模拟器:

  • 启动容器时指定VNC分辨率:
docker run -d -p 5901:5901 -e VNC_RESOLUTION=1080x1920 thyrlian/AndroidSDK:latest
  • 启动模拟器的完整命令:
emulator -avd android-24-default --no-sandbox -gpu off

3. 补全镜像内的依赖包消除警告

日志里的XKeyboard extension not presentzoneinfo找不到的警告,会影响模拟器的稳定性,可以进入容器安装缺失的依赖:

apt-get update && apt-get install -y x11-xkb-utils tzdata

安装后重启模拟器,这些警告应该会消失。

4. 调整Docker资源分配

安卓模拟器很吃资源,Docker默认的CPU和内存分配可能不够。打开Docker Desktop -> 设置 -> 资源,把CPU调到4核以上,内存调到8G以上,再重启容器试试。

5. 拉取最新版镜像

虽然仓库活跃,但如果你用的是旧版本镜像,可能存在已知的兼容性问题,重新拉取最新版:

docker pull thyrlian/AndroidSDK:latest

亲测按照上面的步骤调整后,模拟器能正常显示和操作,adb连接也能保持稳定。

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

火山引擎 最新活动