Android Emulator does not Launch in Ubuntu 16.10

on

A couple of days ago, I updated Android Studio to the latest version. Then, I tried to run the emulator to test an app I’m working on, using:

~/Android/Sdk/tools$ ./emulator -avd Nexus_5X_API_25

And I got this:

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
...

Oops… What had happened?

It turns out there’s an open issue with the version of libstdc++ currently provided with Android Studio. Thankfully, it’s trivial to fix. Just create a symbolic link to the version of the library shipped with Ubuntu.

cd ~/Android/Sdk/emulator/lib64/libstdc++
mv libstdc++.so.6 libstdc++.so.6.bak
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6

That’s it!

Note that file paths may be different in your case, so you might have to look around a bit to find where libstdc++.so.6 is located in your system and Android SDK.