Docker中的Android模拟器

我试图在docker容器中启动Android模拟器,但是我收到错误

root@686d602e6ffa:~/android-sdk-linux/tools# ./emulator            
ERROR: 32-bit Linux Android emulator binaries are DEPRECATED,to use them
       you will have to do at least one of the following:

       - Use the '-force-32bit' option when invoking 'emulator'.
       - Set ANDROID_EMULATOR_FORCE_32BIT to 'true' in your environment.

       Either one will allow you to use the 32-bit binaries,but please be
       aware that these will disappear in a future Android SDK release.
       Consider moving to a 64-bit Linux system before that happens.

但容器内的操作系统是(uname -a)

Ubuntu SMP Tue Mar 10 20:06:50 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

并手动启动emulatox64-x86工作正常:

android-sdk-linux/tools# ./emulator64-x86 
emulator: ERROR: You did not provide the name of an Android Virtual Device
with the '-avd 

我可以建立一个符号链接 – 但我认为这不是一个好的解决方案,因为可能有不同的架构来模拟

此模拟器也应该由Jenkins启动,它位于上面提到的容器中

更新:
正如@ user2915097建议:

  root @ 686d602e6ffa:/ #file / bin / bash
  / bin / bash:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接(使用共享库),用于GNU / Linux 2.6.24

最佳答案
仅作为一个FYI:我在基于FROM ubuntu:16.04的docker上遇到了这个问题
 最后通过安装“file”apt-get安装文件解决了这个问题

显然模拟器使用文件查看$SHELL,如果它不包含“x86_64”,则认为它是32位.

相关文章

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Li...
1、什么是docker?答:docker是开源的应用容器引擎;开发人员把他们的应用及依赖包打包发布到容器当中。...
1、什么是namespace? 答:名称空间,作用隔离容器 2、namespace隔离有那些? 答:ipc:共享内存、消息队...
1、Docker能在非Linux平台(Windows+MacOS)上运行吗? 答:可以 2 、如何将一台宿主机的docker环境...
环境要求: IP hostname 192.168.1.1 node1 项目规划: 容器网段:172.16.10.0/24 NGINX:172.16.10.10...
文档上传地址:https://files.cnblogs.com/files/lin-strive/07-docker%E8%B7%A8%E4%B8%BB%E6%9C%BA%E7...