Android Docker Emulator

I try to run the Android emulator inside the docker container, but I get an error:

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. 

But inside the OS container is ( uname -a )

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

And manually starting emulatox64-x86 works fine:

 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). 

I can make a symbolic link, but I think this is not a good solution, because there may be a different architecture for emulation

Also, this emulator must be launched by Jenkins, who lives in the container mentioned above.

UPDATED: Since @ user2915097 suggested: 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

+7
android docker jenkins
source share
3 answers

You can make a symbolic link, but I think this is not a good solution, because there may be a different architecture for emulation

0
source share

As soon as FYI: I came across this on docker based on FROM ubuntu:16.04 , and finally solved it by installing the β€œfile” apt-get install file

Obviously, the emulator uses file to view $ SHELL, and if it does not contain "x86_64", it considers it to be 32 bits.

+3
source share

extract from https://github.com/docker/docker/issues/611

uname will always tell you 64 bits. Take a look, for example. "file / bin / sh" to see the real file system arch.

0
source share

All Articles