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 <name>' option. Read -help-avd for more information.

If you *really* want to *NOT* run an AVD, consider using '-data <file>'
to specify a data partition image file (I hope you know what you're doing).

我可能会做一个符号链接 - 但我认为这不是一个好的解决方案,因为可能有不同的体系结构模拟

这个模拟器也应该由上面提到的容器中的詹金斯启动

更新:作为@ user2915097建议: root@686d602e6ffa:/# file /bin/bash /bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24


作为一个参考:我在docker基于FROM ubuntu:16.04遇到了这个问题,最后通过安装“file” apt-get install file

显然,仿真器使用file来查看$ SHELL,如果它不包含“x86_64”,它认为它是32位。


摘自https://github.com/docker/docker/issues/611

uname会一直告诉你64位。 看看例如“file / bin / sh”以查看文件系统的真正拱形。


你可以做一个符号链接 - 但我认为这不是一个好的解决方案,因为可能有不同的体系结构来模拟

链接地址: http://www.djcxy.com/p/25241.html

上一篇: Android emulator in Docker

下一篇: What is the purpose of this.someFunction.call(this, param);