Ich versuche, den Emulator zu starten, aber er wird im Protokoll ausgegeben:
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
Wie man es repariert? Ich lese Themen mit ähnlichen Fehlern, aber es hilft mir nicht.
Antworten:
Schau es dir an
https://code.google.com/p/android/issues/detail?id=197254
insbesondere die Punkte 3 und 19. Dies ist eher eine Problemumgehung als eine echte Lösung, aber es hat mich wieder in Bewegung gebracht. Sie müssen den Befehl anpassen für:
libstdc++.so.6
Datei auf Ihrem System - das habe ichlocate libstdc++.so.6
immer gefundenso war mein Befehl
Dadurch wird der Emulator gestartet und Sie können ihn im Dialogfeld "Geräteauswahl" auswählen, wenn Sie Ihre App ausführen.
quelle
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 $ANDROID_HOME/tools/lib/libstdc++/libstdc++.so.6
LD_PRELOAD='/usr/lib/x86_64-linux-gnu/libstdc++.so.6' ~/Android/Sdk/tools/emulator -list-avds
Die Verwendung von libstdc ++. So.6, das in Ihrem System anstelle des mit dem Android SDK gelieferten verfügbar ist, löst dieses Problem.
Der Emulator hat dazu einen Schalter
-use-system-libs
.~/Android/Sdk/tools/emulator -avd Nexus_5_API_23 -use-system-libs
Alternativ können Sie die
ANDROID_EMULATOR_USE_SYSTEM_LIBS
Umgebungsvariable1
für Ihren Benutzer / Ihr System festlegen . Dies hat den Vorteil, dass der Emulator auch dann funktioniert, wenn Sie ihn in Android Studio gestartet haben.Weitere Details: https://code.google.com/p/android/issues/detail?id=197254#c15
quelle
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
muss hinzugefügt werden$HOME/.profile
/etc/environment
es hat bei mir funktioniert
quelle
Ich habe einen ähnlichen Fehler in Ubuntu 16.04 64-Bit. Für mich funktioniert die Antwort Nr. 23 hervorragend https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter % 20Öffnet & groupby = & sort = & id = 197254
quelle
/home/daniel/Android/Sdk/tools/lib64/libstdc++
Verwenden Sie "Software" in der Option "Emulierte Leistungsgrafiken" in den AVD-Einstellungen. Sehr einfache Lösung.
quelle
Ich mache das und es funktioniert
quelle
Suchen Sie besser die Standardeinstellung libstdc ++. so.6 Ihres Systems mit dem Befehl find libstdc ++. so.6
Und dann sichern Sie die Android SDK-Version der Datei in ~ / Android / Sdk / tools / lib64 / libstdc ++ /
Erstellen Sie einen Softlink für libstdc ++. So.6 mit demselben Namen im obigen Pfad und ersetzen Sie den vorhandenen Link, der auf die Standarddatei im System verweist
Auf diese Weise müssen wir den Emulator nicht jedes Mal über die Befehlszeile neu starten.
quelle
Versuchen Sie, die Grafikoption in den Emulatoreinstellungen zu ändern:
quelle
Ich hatte auch viele Probleme, AVD auf meinem Computer zu starten. Probleme mit der Verwendung von Systembibliotheken, dem Erstellen von Symlinks zu lokalen Bibliotheken usw.
Was für mich wirklich funktioniert hat, war die Installation der NVIDIA-Treiber mit
Meine Distribution (Hinweis, ich verwende kein Ubuntu 15.10):
Stellen Sie sicher, dass Sie das für Sie geeignete NVIDIA-Paket überprüfen, da Ubuntu verschiedene Geschmacksrichtungen bietet. Zum Beispiel:
Ich habe die Liste in einer Bottom-up-Strategie getestet, von 361 bis ich eine gefunden habe, die funktioniert (in meinem Fall 340).
Hoffentlich hilft das.
quelle
In meinem Fall (Ubuntu 16.10 64-Bit, Android Studio 2.3) befanden sich die Bibliotheken an einem anderen Ort. Befehle sind also:
Und jetzt wird der Emulator normalerweise über den AVD-Manager gestartet.
quelle
Ich hatte ähnliche Probleme mit der Verwendung
i965_dri.so
undswrast_dri.so
konnte nicht auf Softwaregrafiken in der GUI umsteigen.Also ging ich zum Ordner des Emulators (
Show on Disk
Link in AVDM) und fand denconfig.ini
Hier habe ich gerade die folgende Zeile geändert, um die Verwendung der GPU zu verhindern:
quelle
Dies ist in Android Emulator 27.2.9 behoben. Siehe den ersten hier aufgelisteten Fix: https://developer.android.com/studio/releases/emulator#fixes
quelle
quelle