2013-03-23 20 views
28

Co oznaczają te komunikaty o błędach z emulatora Androida?emulator: OSTRZEŻENIE: Nie można zainicjować emulacji OpenglES, używając renderera oprogramowania

Starting emulator for AVD 'AVD' 
Failed to create Context 0x3005 
could not get wglGetExtensionsStringARB 
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer. 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
+1

Czy masz jakieś rozwiązanie? –

+1

Właściwa instalacja sterowników graficznych wyeliminowała te błędy. – zest

Odpowiedz

0

Oznacza to, że linker nie może znaleźć bibliotek OpenGLES w systemie. Możesz spróbować zainstalować te.

na Fedora, to wydaje się, aby rozwiązać problem:

> yum install mesa-libGLw.i686 

niektórych innych informacji tutaj: http://www.redips.net/android/emulator-fedora-linux/

Edit: Dla systemu Windows związanych z rzeczy, this answer wydaje się robić to, co chcesz.

+0

Właściwie jestem nowy w Androidzie. Po aktualizacji instalowania API 2.1.2.2 po tym otwieram menedżera AVD stworzyć emulator, a następnie otworzyć emulator podczas ładowania widzę ten błąd. Pracuję w oknie 7 64-bitowym – user2118445

+0

, a także wysokość emulatora nie jest zainstalowana na ekranie, a klawiatura emulatora nie pojawia się. Przed zainstalowaniem api 2.1, 2.2 ... działało dobrze. – user2118445

+0

Nie jestem zainstalowany ** obraz systemu mips ** jest to powodem tego błędu ... – user2118445

3

Upewnij się, że zainstalowałeś właściwe sterowniki do karty graficznej. miałem dokładnie ten sam błąd.

0

Musisz grać ze swoją specyfikacją urządzenia Android, jak RAM, sterty innych specyfikacji.

Trudno powiedzieć, które musi być ustawione na co. W moim przypadku ustawiłem RAM jako 512 i Heap 128, aby działało.

0

Ja też miałem ten sam problem, nawet jeśli mam 512 MB z RAM. Rozwiązałem "Usuwając" starszy emulator i odtworzyłem nowy emulator. Nadal nie znam przyczyny tego problemu. Ten problem nie został jeszcze zamknięty przez Google Developers. Mam nadzieję, że moje rozwiązanie pomoże innym.

15

Podczas uruchamiania emulatora z linii poleceń - $ emulator64-arm -avd GalaxyS2 - Mam podobne (a może/mam nadzieję) związanych wiadomość:

emulator: ERROR: Could not load OpenGLES emulation library: lib64OpenglRender.so: cannot open shared object file: No such file or directory

Znalazłem ten plik lib64OpenglRender.so przez locate. Jest on w katalogu tools/lib -skatalogu katalogu android-sdk-linux.

Więc stworzyłem /etc/ld.so.conf.d/android_stuff.conf (można oczywiście dodać następującą linię do drugiego * .conf plik w tym katalogu) i umieścić w jednej linii:

path_to_android-sdk-linux_directory/tools/lib

Następnie zadzwonić do konfiguracji-narzędzia: ldconfig (bez żadnego parametru) i (przynajmniej w moim przypadku) komunikat o błędzie zniknął.

+0

dla mnie pracował http://progrnotes.blogspot.com/2015/05/warning-could-not-initialize-opengles-emulation.html – Sergey

2


Myślę, że rozwiązanie Gerda było najbardziej pomocne.

W przypadku gdy ktoś potknie się na to, bardziej szczegółowe i kompletne rozwiązanie ...

Skrypt startowy-shell wanilia studio.sh ustawia zmienną env:

LD_LIBRARY_PATH="$IDE_BIN_HOME:$LD_LIBRARY_PATH" 

że to wtedy eksportu. IDE_BIN_HOME ustawia się za pomocą lokalizacji pliku studio.sh (gdzieś w środku - zazwyczaj [android-studio]/bin). Po uruchomieniu emulatora za pomocą Studio-> Manger-> Narzędzia-> Zarządzaj AVD, ten env-var ma przedrostek android-SDK/tools/bin. To znaczy, kiedy uruchamiasz go samodzielnie, nie ustawiłeś tego env-var. Rozwiązanie Gerda dodaje bibliotekę do systemowej ścieżki wyszukiwania. Innym podejściem byłoby utworzenie opakowania, które zajmuje się tym, aby było ustawione tylko wtedy, gdy jest potrzebne i (ewentualnie) inne rzeczy są również ustawione.

#!/bin/bash 
export JAVA_HOME="/usr/lib/jvm/java-BLAH" 
export STUDIO_JDK="$JAVA_HOME"  #This is also used in studio.sh 
export IDE_BIN_HOME="/home/you/android-studio/bin" 
export Anroid_SDK="/home/you/android-sdk" 
export LD_LIBRARY_PATH="$Anroid_SDK/tools/lib:$IDE_BIN_HOME:$LD_LIBRARY_PATH" 

cd "$Anroid_SDK/tools" 

./emulator64-x86 -avd AVD-NAME-1 -gpu on & 
./emulator64-arm -avd AVD-NAME-2 

To jest chyba nieco przesadzone, ale to kompletne;) zależności Distro JAVA_HOME/Setup mogą być ustawione, więc można upuścić tę linię. Jeśli ciągle korzystać z emulatora, można również dodać coś takiego

export LD_LIBRARY_PATH="[YOUR Studio PATH]/tools/lib:$LD_LIBRARY_PATH" 

do .bashrc lub .profile pliku.

Ale aby odpowiedzieć na faktyczne pytanie: Oznacza to, że emulator nie mógł uruchomić (sprzętowo przyspieszać?) OpenGLES, i że używa on procedur programowych do implementacji/emulacji OpenGLES: D Aby umożliwić emulatorowi znalezienie pożądaną lib, upewnij się, że masz zainstalowane odpowiednie sterowniki kart graficznych (3D-Accel.?), a następnie wybierz jedną z powyższych (ustawienia powłoki powłoki lub (bash-) session-init).

Zauważ, że nowsze wersje Androida-Studio są rozwidlone się SDK

0

jedna wskazówka ... Sprawdź, czy nie są na wirtualnej maszynie ... to znaczy powinno być na prawdziwej maszynie.

9

export LD_LIBRARY_PATH = "/ home/< użytkownik-pc>/Android/SDK/tools/lib64: $ LD_LIBRARY_PATH"

cd/home/nazmul/Android/sdk/tools

./emulator64 -x86 -avd < avd-name> -gpu na

Ten program działa na moim laptopie.

+0

Ah dziękuję - dlaczego nie jest to w dokumentach - czy też tęskniłem za tym ?? – BricoleurDev

+0

Yo można znaleźć tutaj z mojego github. – Nazmul

Powiązane problemy