16.10'a yükselttikten sonra Android studio buggy

28

Son zamanlarda, 16.04 LTS'den, Android stüdyomun 16.10'a kadar iyi çalıştığını ancak avd öykünücülerimi çalıştırmaya çalıştığım için yükseltildim, bunun yerine geri aldığım hata günlüğü

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
    
sordu King Benx 02.01.2017 13:37

7 cevap

48

En son android stüdyo güncellemelerinde, google libstdc++ kullanın. sisteme yüklenen intel sürücüsü ile uyumsuz

Sistemde yoksa önce aşağıdaki paketleri yüklemeniz gerekir lib64stdc++6 ve mesa-utils

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

Ardından kütüphaneleri android sdk araçları yoluna dönüştürün

## 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++
    
verilen cevap Arduino_Sentinel 02.01.2017 14:40
41

Ubuntu 17.04'te de bu problemi yaşadım ve yaptığım şey buydu.

Favori metin düzenleyicinizi kullanarak .profile 'nizi düzenleyin

atom ~/.profile

Bunu, dosyanın sonuna ekleyin

export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1

Kaynak: Android SDK Ortam Değişkeni

    
verilen cevap jasperagrante 13.07.2017 07:09
18

Emülatörü terminalden çalıştır

emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME
    
verilen cevap katenzo 10.05.2017 09:33
4

Başka bir basit çözüm, Android sdk dizinindeki emülatör klasöründeki libstdc ++ 'yi yeniden adlandırmaktır. Sistem libslerine geri yüklenir (yüklenmesi gerekir). Ubuntu 17.10'da benim için sadece 'çalıştı'.

    
verilen cevap Vincent Gerris 24.12.2017 14:07
2

Emülatörü güncelleyin.

Tools -> SDK Manager -> SDK Tools -> Android Emulator

Bu, 27.2.9'da düzeltilen bir hatadır.

  

Android Emulator’un Linux sürümü artık modern kullanılarak oluşturuldu   Clang C ++ alet zinciri. Bu değişiklik, öykünücünün sorununu giderir   libGL ve libstdc ++ hataları nedeniyle başlatılamadı.

FYI: BTW'nin el ile symlinks oluşturması iyi bir fikir değildir. % Co_de% değerini ayarlamak daha iyi bir yaklaşımdır. Bununla birlikte, emülatörü güncelleyebildiğiniz zaman da gerekli değildir.

    
verilen cevap Gayan Weerakutti 23.08.2018 19:30
1

Grafik ivmesini otomatik / donanımdan yazılıma değiştirdim. Bu soruna neden olan sürücüler sadece grafik hızlandırma için gerçek donanım kullanmak için gereklidir. Bir oyun ya da diğer grafik yoğun yazılımlarda çalışmadığınız sürece, buna gerçekten ihtiyacınız yok. Bu her adv üzerinde yapılmalı, ancak bittiğinde ayarlanmış kalır.

    
verilen cevap wheredidthatnamecomefrom 30.11.2017 17:00
-1

Bu, bağlantı yardımında bulunur. Ustuntu 17.10 kurulumuna dayanarak libstdc ++ 'nın yerini değiştirdim. Libstdc ++ dosyası çok farklıydı. Libstdc ++ için bilgisayarınızı arayın.

Ubuntu 17.10 ve 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 
    
verilen cevap Scott 30.03.2018 04:52

Etiketlerdeki diğer soruları oku