Próbuję uruchomić emulator, ale wyświetla w dzienniku:
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
Jak to naprawić? Czytam tematy z podobnymi błędami, ale to mi nie pomaga.
Odpowiedzi:
Spojrzeć na
https://code.google.com/p/android/issues/detail?id=197254
w szczególności punkty 3 i 19. Jest to raczej obejście niż prawdziwe rozwiązanie, ale znowu się ruszam. Będziesz musiał dostosować polecenie dla:
libstdc++.so.6
pliku w twoim systemie - kiedyślocate libstdc++.so.6
to znalazłemwięc mój rozkaz był
Spowoduje to uruchomienie emulatora i możesz go wybrać w oknie dialogowym „Device Chooser” po uruchomieniu aplikacji.
źródło
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
Użycie libstdc ++. So.6, który jest dostępny w twoim systemie zamiast tego dołączonego do zestawu SDK systemu Android, rozwiązuje ten problem.
Emulator ma
-use-system-libs
do tego przełącznik .~/Android/Sdk/tools/emulator -avd Nexus_5_API_23 -use-system-libs
Alternatywnie możesz ustawić
ANDROID_EMULATOR_USE_SYSTEM_LIBS
zmienną środowiskową na1
dla swojego użytkownika / systemu. Ma to tę zaletę, że emulator będzie działał, nawet jeśli uruchomisz go z poziomu Android Studio.Więcej szczegółów: https://code.google.com/p/android/issues/detail?id=197254#c15
źródło
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
należy dodać do$HOME/.profile
/etc/environment
to działa dla mnie
źródło
Mam podobny błąd w Ubuntu 16.04 64-bit. Dla mnie rozwiązanie nr 23 działa świetnie https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter % 20Opened & groupby = & sort = & id = 197254
źródło
/home/daniel/Android/Sdk/tools/lib64/libstdc++
Użyj opcji „Oprogramowanie” w opcji Emulowana grafika użytkowa w ustawieniach AVD. Bardzo proste rozwiązanie.
źródło
robię to i to działa
źródło
lepiej zlokalizuj domyślną bibliotekę systemową libstdc ++. so.6 za pomocą polecenia locate libstdc ++. so.6
Następnie wykonaj kopię zapasową wersji Android SDK pliku w ~ / Android / Sdk / tools / lib64 / libstdc ++ /
I stwórz miękki link do libstdc ++. So.6 z tą samą nazwą w powyższej ścieżce zastępując istniejący wskazujący na domyślny plik w systemie
W ten sposób nie musimy za każdym razem restartować emulatora z linii poleceń.
źródło
Spróbuj zmienić opcję grafiki w ustawieniach emulatora:
źródło
Miałem też wiele problemów z uruchomieniem AVD na moim komputerze. Zmagałem się z używaniem bibliotek systemowych, tworzeniem dowiązań symbolicznych do bibliotek lokalnych itp ...
To, co naprawdę sprawiło, że zadziałało, to zainstalowanie sterowników nvidia z
Moja dystrybucja (uwaga, nie używam Ubuntu 15.10):
Upewnij się, że sprawdziłeś pakiet nvidia odpowiedni dla Ciebie, ponieważ Ubuntu oferuje różne smaki. Na przykład:
Przetestowałem listę w strategii oddolnej, od 361 do znalezienia takiej, która zadziałała (340 w moim przypadku).
Mam nadzieję, że to pomoże.
źródło
W moim przypadku (Ubuntu 16.10 64-bit, Android Studio 2.3) biblioteki znajdowały się w innym miejscu. Więc polecenia to:
A teraz emulator jest uruchamiany normalnie z menedżera AVD.
źródło
Miałem podobne problemy z używaniem
i965_dri.so
iswrast_dri.so
nie mogłem przełączyć się na grafikę programową w GUI.Poszedłem więc do folderu emulatora (
Show on Disk
link w AVDM) i znalazłem plikconfig.ini
Tutaj właśnie zmieniłem następującą linię, aby przestać używać GPU:
źródło
Zostało to naprawione w emulatorze Androida 27.2.9. Zobacz pierwszą poprawkę wymienioną tutaj: https://developer.android.com/studio/releases/emulator#fixes
źródło
źródło