[android-emulator] Impossible de lancer l'émulateur sous Linux (Ubuntu 15.10)



Answers

En utilisant le libstdc ++. So.6 qui est disponible dans votre système au lieu de celui fourni avec l'android sdk résout ce problème.

  • L'émulateur dispose d'un commutateur -use-system-libs pour cela.

    ~/Android/Sdk/tools/emulator -avd Nexus_5_API_23 -use-system-libs

  • Vous pouvez également définir la variable d'environnement ANDROID_EMULATOR_USE_SYSTEM_LIBS sur 1 pour votre utilisateur / système. Cela a l'avantage de s'assurer que l'émulateur fonctionnera même si vous l'avez lancé depuis Android Studio.

Plus de détails: https://code.google.com/p/android/issues/detail?id=197254#c15

Question

J'essaye de lancer l'émulateur mais il sort dans le journal:

libGL error: unable to load driver: r600_dri.so 
libGL error: driver pointer missing 
libGL error: failed to load driver: r600 
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:  47
Current serial number in output stream:  46 
libGL error: unable to load driver: r600_dri.so 
libGL error: driver pointer missing 
libGL error: failed to load driver: r600 
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:  47   
Current serial number in output stream:  46 
libGL error: unable to load driver: r600_dri.so 
libGL error: driver pointer missing 
libGL error: failed to load driver: r600
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:  33   
Current serial number in output stream:  34 
QObject::~QObject: Timers cannot be stopped from another thread emulator: WARNING: Increasing RAM size to 1GB

Comment le réparer? J'ai lu des sujets avec des erreurs similaires mais ça ne m'aide pas.










Je fais ça et ça marche

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



Essayez de modifier l'option graphique dans les paramètres de l'émulateur:




Dans mon cas (Ubuntu 16.10 64 bits, Android Studio 2.3), les bibliothèques se trouvaient dans un autre endroit. Donc les commandes sont:

/home/myusername/Android/Sdk/emulator/lib64/libstdc++

➜  libstdc++ ll
total 9,3M
-rwxr-xr-x 1 myusername myusername 4,6M мар 21 00:09 libstdc++.so.6
-rwxr-xr-x 1 myusername myusername 4,6M мар 21 00:09 libstdc++.so.6.0.18

➜  libstdc++ mv libstdc++.so.6 libstdc++.so.6.bak
➜  libstdc++ mv libstdc++.so.6.0.18 libstdc++.so.6.0.18.bak
➜  libstdc++ ln -s /usr/lib32/libstdc++.so.6 /home/myusername/Android/Sdk/emulator/lib64/libstdc++ 
➜  libstdc++ ln -s /usr/lib32/libstdc++.so.6.0.22 /home/myusername/Android/Sdk/emulator/lib64/libstdc++ 

➜  libstdc++ ll
total 9,3M
lrwxrwxrwx 1 myusername myusername   25 мар 29 13:18 libstdc++.so.6 -> /usr/lib32/libstdc++.so.6
-rwxr-xr-x 1 myusername myusername 4,6M мар 21 00:09 libstdc++.so.6.0.18.bak
lrwxrwxrwx 1 myusername myusername   30 мар 29 13:19 libstdc++.so.6.0.22 -> /usr/lib32/libstdc++.so.6.0.22
-rwxr-xr-x 1 myusername myusername 4,6M мар 21 00:09 libstdc++.so.6.bak

Et maintenant émulateur est lancé à partir du gestionnaire AVD normalement.




Links