Эмулятор Android не работает над Linux из-за libGL

Я использовал несколько дистрибутивов Linux (Ubuntu, Deepin, и т.д.), и я использую Неоновый Пользовательский Выпуск KDE в данный момент. Когда я хочу использовать эмулятор Android, я не могу. Поскольку эмулятор Android не выполняется на всех дистрибутивах Linux для меня. Информация: Мои выводы:

user@username-PC:~/Android/Sdk/tools$ ./emulator -accel-check
accel:
0
KVM (version 12) is installed and usable.
accel
user@username-PC:~/Android/Sdk/tools$ kvm-ok 
INFO: /dev/kvm exists
KVM acceleration can be used
user@username-PC:~/Android/Sdk/tools$ egrep -c '(vmx|svm)' /proc/cpuinfo
4

Когда я запускаю эмулятор Android, я получаю эту ошибку:

emulator: WARNING: Not all modern X86 virtualization features supported, which introduces problems with slowdown when running Android on multicore vCPUs. Setting AVD to run with 1 vCPU core only.
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
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:  58
  Current serial number in output stream:  59

Когда я установил Многоядерную установку CPU как 1:

libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
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:  58
  Current serial number in output stream:  59

Когда я изменяю настройки Graphics как программное обеспечение - GLES 2.0 (значение по умолчанию: Автоматический), я получаю это: enter image description here

1
задан 28 January 2018 в 20:43

1 ответ

Используя систему libstdc ++ решает проблему

Например:

cd ~/Android/Sdk/tools
./emulator -avd Nexus_5X_API_27 -use-system-libs

Если это работает правильно, установите следующую переменную в ~/.bashrc:

export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1

Перевход в систему или source ~.bashrc. Можно затем опустить -use-system-libs опция:

./emulator -avd Nexus_5X_API_27

Этот метод не работает, когда эмулятор называют от Studio Android. Вот обходное решение

Создайте сценарий оболочки android-studio.sh в каталоге, доступном в Вашем PATH. Например, ~/bin со следующим содержанием:

#!/bin/bash
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
~/Programs/android-studio/bin/studio.sh %f

и затем обновите команду средства запуска в

~/.local/share/applications/jetbrains-studio.desktop

указать на ~/bin/android-studio.sh.

0
ответ дан 8 December 2019 в 02:32

Другие вопросы по тегам:

Похожие вопросы: