Android 模拟器无法在 Ubuntu 16.10 上运行

Android Emulator does not work on Ubuntu 16.10

我使用的是 Acer Aspire E1-530,配备 Intel 2117U 处理器和 6GB 内存。

我遵循了 React Native Website to install React Native and Android Studio 2.3, and also installed KVM as given in this Ubuntu documentation 中给出的步骤。 Android Studio 启动时没有问题,我能够成功设置 AVD,但是当我启动 AVD 时,一个小的 window 会出现一秒钟然后消失。我也尝试从 ~/Android/Sdk/tools 运行ning emulator,但它显示此错误:

libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  55
  Current serial number in output stream:  54
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  55
  Current serial number in output stream:  54
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  39
  Current serial number in output stream:  40
QObject::~QObject: Timers cannot be stopped from another thread
Segmentation fault (core dumped)

当我 运行 emulator-check accl 时,我得到以下输出:

accel:
0
KVM (version 12) is installed and usable.
accel

将模拟器的 libstdc++.so 替换为您自己的:

mv ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6{,.bak}
mv ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6.0.18 {,.bak}
ln -s /usr/lib/libstdc++.so  ~/Android/Sdk/emulator/lib64/libstdc++/

运行 来自终端的模拟器

$ emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME