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 位的错误消息。