android studio on 64 bit OS running 64bit OS give ERROR: 32-bit Linux Android emulator binaries are DEPRECATED
android studio on 64 bit OS running 64bit OS give ERROR: 32-bit Linux Android emulator binaries are DEPRECATED
我遇到了类似这个问题:
我 运行 android Gentoo 上的工作室 2.1.1 Linux/amd64,
当我尝试 运行 模拟器 android android studio 给我错误:
/home/user/Android/Sdk/tools/emulator -netdelay none -netspeed full
-avd Nexus_5X_API_23 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.
但是
$ file /home/user/Android/Sdk/tools/emulator
/home/user/Android/Sdk/tools/emulator: ELF 64-bit LSB executable,
x86-64, version 1 (SYSV), dynamically linked, interpreter
/lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.15, stripped
如你所见,模拟器是 64 位二进制文件,我 运行 它是 64 位 OS,
还 Tools->Android->Avd Manger 显示 Nexus_5X_API_23 有 CPU/ABI = x86_64,
那么什么是“32 位错误”?
更新
看起来它需要一些权限,因为我可以从 root 用户 运行 模拟器。但是还是猜不出来到底需要什么。
问题出在 SHELL
环境变量上。
如果我 运行 emulator
在 root 下使用 SHELL=/bin/bash
一切正常,但是如果我从普通用户使用 SHELL=bash
运行 emulator
,它失败并显示有关 32 位的错误消息。
我遇到了类似这个问题:
我 运行 android Gentoo 上的工作室 2.1.1 Linux/amd64, 当我尝试 运行 模拟器 android android studio 给我错误:
/home/user/Android/Sdk/tools/emulator -netdelay none -netspeed full -avd Nexus_5X_API_23 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.
但是
$ file /home/user/Android/Sdk/tools/emulator /home/user/Android/Sdk/tools/emulator: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.15, stripped
如你所见,模拟器是 64 位二进制文件,我 运行 它是 64 位 OS, 还 Tools->Android->Avd Manger 显示 Nexus_5X_API_23 有 CPU/ABI = x86_64,
那么什么是“32 位错误”?
更新
看起来它需要一些权限,因为我可以从 root 用户 运行 模拟器。但是还是猜不出来到底需要什么。
问题出在 SHELL
环境变量上。
如果我 运行 emulator
在 root 下使用 SHELL=/bin/bash
一切正常,但是如果我从普通用户使用 SHELL=bash
运行 emulator
,它失败并显示有关 32 位的错误消息。