'sh:1:file:not found'在Docker容器中创build一个android模拟器时

我正在尝试在Docker容器中创build一个Android模拟器,但遇到了一些问题。

SDK更新和AVD创build成功,我尝试创build模拟器,出现以下错误:

./emulator -avd test-22 -no-skin -no-audio -no-window sh: 1: file: not found sh: 1: file: not found WARNING: Cannot decide host bitness because $SHELL is not properly defined; 32 bits assumed. ERROR: 32-bit Linux Android emulator binaries are DEPRECATED, to use them 

注:运行最后的docker版本,并使用java:8-jdk图像。

我的dockerfile可以在这里find=> https://gist.github.com/leoGalani/1f74621b8e82bd5bc8db586d1f34b8a2

– 有些人告诉我为API22安装x86 intel ABI / ARM,但是我无法find软件包名称,所以我可以通过命令行来安装。

我有同样的问题,我通过apt修复了安装文件comman。 但仍然没有工作,我会更新,当我find一个解决scheme。

 apt-get install -y --no-install-recommends file libmagic1 libglu1-mesa mesa-utils libpci3 pciutils libpulse0 

编辑:我添加包到你的docker文件后,我find了一个解决scheme

添加你的docker文件这些命令也一样

 mv /bin/sh /bin/sh.backup cp /bin/bash /bin/sh 

并创build新的容器

 --device /dev/dri --device /dev/video0 --device /dev/snd --device /dev/kvm 

现在很可能是工作。

我通过使用emulator64而不是模拟器来解决同样的问题。
在这种情况下:

 emulator64 -avd test-22 -no-skin -no-audio -no-window