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).
我可能会做一个符号链接 – 但我认为这不是一个好的解决scheme,因为可能有不同的架构模拟
这个模拟器也应该由上面提到的容器里的Jenkins来启动
更新:作为@ user2915097build议: 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
作为一个简单的参考:我FROM ubuntu:16.04
基于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”来查看文件系统的真正的拱形。
你可以做一个符号链接 – 但我认为这不是一个好的解决scheme,因为可能有不同的体系结构来模拟
- 'sh:1:file:not found'在Docker容器中创build一个android模拟器时
- Android Espresso:java.lang.IncompatibleClassChangeError:类“java.lang.Class”没有实现接口“java.util.Collection”
- docker上的gnuroot debian
- 无法使用Gitlab-CI在Docker容器中运行Android应用程序
- 将USB Android设备从Windows 10主机安装到Docker容器
- 根据Docker文件安装不会发生
- 蟑螂android.util.AndroidException:INSTRUMENTATION_FAILED
- 使用Docker从命令行构build一个Android项目
- 使用wget获取Ubuntu SDK的最新版本