buggy de estúdio Android após a atualização para 16.10

28

Eu recentemente atualizei de 16.04 LTS, onde meu estúdio android estava funcionando bem para 16.10, mas ao tentar executar meus emuladores avd, este é o log de erro que eu recebo de volta

Cannot launch AVD in emulator.
Output:
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
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 r
    
por King Benx 02.01.2017 / 13:37

6 respostas

48

Nas recentes atualizações do Android, use o google libstdc++ que é incompatível com o driver intel instalado no sistema

Primeiro você precisa instalar os seguintes pacotes se não houver no sistema lib64stdc++6 e mesa-utils

sudo apt-get install lib64stdc++6 mesa-utils

Em seguida, crie uma ligação simbólica das bibliotecas para o caminho das ferramentas do Android sdk

## For the /Sdk/tools path

cd ~/Android/Sdk/tools/lib64/libstdc++
# making a copy of the file
sudo mv libstdc++.so.6 libstdc++.so.6.og
# symlink
sudo ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/tools/lib64/libstdc++

## For the /Sdk/emulator path

cd ~/Android/Sdk/emulator/lib64/libstdc++
# making a copy of the file
sudo mv libstdc++.so.6 libstdc++.so.6.og 
# symlink
sudo ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++
    
por Arduino_Sentinel 02.01.2017 / 14:40
41

Eu também tive esse problema no Ubuntu 17.04 e aqui está o que eu fiz.

Edite seu .profile usando seu editor de texto favorito

atom ~/.profile

Anexe isso no final do arquivo

export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1

Fonte: variável de ambiente do Android SDK

    
por jasperagrante 13.07.2017 / 07:09
18

Execute o emulador a partir do terminal

emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME
    
por katenzo 10.05.2017 / 09:33
4

outra solução simples é renomear o libstdc ++ na pasta emulador no diretório sdk do Android. Ele fará fallback para as libs do sistema (precisa ser instalado). Isso 'só funcionou' para mim no Ubuntu 17.10.

    
por Vincent Gerris 24.12.2017 / 14:07
1

Eu mudei a aceleração gráfica de auto / hardware para software. Os drivers que estão causando esse problema são necessários apenas para usar hardware real para aceleração de elementos gráficos. A menos que você esteja trabalhando em um jogo ou em outro software gráfico intensivo, você realmente não precisa disso. Isso tem que ser feito em cada adv, mas permanece definido uma vez feito.

    
por wheredidthatnamecomefrom 30.11.2017 / 17:00
-1

Esta ajuda link . Eu modifiquei a localização do libstdc ++ assim baseado na minha instalação do Ubuntu 17.10. A localização do arquivo libstdc ++. So era diferente. Procure em seu computador por libstdc ++. Então

Ubuntu 17.10 e Android Studio 3.1

cd /opt/android-sdk/emulator/lib64/libstdc++
mv libstdc++.so.6{,.bak}
mv libstdc++.so.6.0.19{,.bak}
ln -s /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so 
    
por Scott 30.03.2018 / 04:52