在Docker容器(在VM中)无法启动Android模拟器x86_64
我有一个VM(Debian Stable)里面使用Docker。 我想在Docker容器中运行x86_64的Android模拟器。
以下是Docker镜像的构build方式:
FROM debian:stable RUN apt-get update && apt-get install --yes curl unzip openjdk-8-jdk libqt5widgets5 RUN useradd foo --shell /bin/bash --create-home --user-group USER foo WORKDIR /home/foo RUN curl --output sdk-tools-linux.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip RUN unzip sdk-tools-linux.zip && rm sdk-tools-linux.zip RUN yes | tools/bin/sdkmanager 'system-images;android-24;default;x86_64' 'emulator' 'build-tools;26.0.1' 'platform-tools' 'platforms;android-24' RUN echo no | tools/bin/avdmanager create avd --package 'system-images;android-24;default;x86_64' --name android-x86_64
在容器内启动仿真器时,
emulator/emulator -avd android-x86_64 -no-window -no-audio -no-boot-anim -no-accel -gpu off
我得到以下错误:
emulator: WARNING: encryption is off emulator: WARNING: x86_64 emulation may not work without hardware acceleration! path /home/foo/.android/avd/android-x86_64.avd/system.img.qcow2 qemu-system-x86_64: -device virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify: ioeventfd is required for iothread
这似乎与硬件加速有关(是吗?)。 忽略这样的环境的目的性(虚拟机内部的Docker中的模拟器),是否可以在这样的上下文中运行模拟器? 我该如何解决我的问题?
谢谢,
- 移动现有的Android模拟器(AVD)到Docker容器
- 使用Bitbucket pipelane和Docker进行Android仪器testing
- Jenkinspipe道与Docker镜像正在占用磁盘空间(Ubuntu)
- Gradle无法下载android软件包
- Docker:电池历史logging – 拉取拒绝访问或需要dockerlogin
- Android Espresso:java.lang.IncompatibleClassChangeError:类“java.lang.Class”没有实现接口“java.util.Collection”
- 如何将一个USB设备连接到docker集装箱
- Docker容器中的Android开发环境
- 为什么我的卷绑定到主机文件夹时是空的?