Эмулятор Android в Docker
Я пытаюсь запустить эмулятор Android внутри контейнера docker, но получаю ошибку:
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
3 ответов
как просто FYI: я столкнулся с этим на ДОКере на основе FROM ubuntu:16.04
и, наконец, решил его, установив "файл"apt-get install file
видимо эмулятор использует file
чтобы посмотреть на $SHELL, и если он не содержит "x86_64", он думает, что это 32bit.
извлечение из https://github.com/docker/docker/issues/611
uname всегда скажет вам 64 бита. Посмотрите, например, "file/bin / sh", чтобы увидеть реальную арку файловой системы.
вы можете сделать символическую ссылку-но я думаю, что это не хорошее решение, потому что может быть другая архитектура для эмуляции