Недавно я обновился с 16.04 LTS, где моя Android-студия работала нормально, до 16.10, но при попытке запустить мои эмуляторы avd вместо этого я получаю журнал ошибок
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
В последних обновлениях для Android Studio Google использует libstdc++
, который несовместим с драйвером Intel, установленным в системе.
Сначала вы должны установить следующие пакеты, если их нет в системе lib64stdc++6
. и mesa-utils
sudo apt-get install lib64stdc++6 mesa-utils
Затем сделайте символическую ссылку на библиотеку для пути инструментов 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++
Выполненный эмулятор от терминала
emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME
Я имел также эту проблему на Ubuntu 17.04 и здесь - то, что я сделал.
Редактирование Ваш .profile
использование Вашего любимого текстового редактора
atom ~/.profile
Добавляют это в конце Источника файла
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
Tools -> SDK Manager -> SDK Tools -> Android Emulator
Это - ошибка, которая исправляется в 27.2.9.
<час>версия Linux Эмулятора Android теперь создается с помощью современного Лязга набор инструментальных средств C++. Это изменение устраняет проблему эмулятора, не удающегося запускаться из-за libGL и libstdc ++ ошибки.
к вашему сведению: BTW, вручную создающий символьные ссылки, не является хорошей идеей.
Установка ANDROID_EMULATOR_USE_SYSTEM_LIBS
является лучшим подходом. Однако это также не необходимо, когда Вы могли просто обновить эмулятор.
другое простое обходное решение должно переименовать libstdc ++ в папке эмулятора в Android sdk каталог. Это будет, нейтрализация к системе освобождает (должен быть установлен). Это 'просто работало' на меня на Ubuntu 17.10.
Я переключил графическое ускорение от автоматических / аппаратных средств до программного обеспечения. Драйверы, которые вызывают эту проблему, только необходимы для использования реальных аппаратных средств для графического ускорения. Если Ваша работа над игрой или другим графическим интенсивным программным обеспечением Вам действительно не нужно это. Это должно быть сделано на каждой рекламе, но остается установленным когда-то сделанный.
Эта справка ссылки. Я действительно изменял местоположение libstdc ++. таким образом на основе моей установки Ubuntu 17.10. libstdc ++. таким образом, расположение файла отличалось. Ищите свой компьютер libstdc ++. так
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