Не вдається запустити AVD в емуляторі: бібліотека QT не знайдена


132

Я новачок у студії Android і у мене виникають проблеми під час використання емулятора. Коли я намагаюся запустити, вона постійно дає збої, кажучи:

"Не вдається запустити AVD в емуляторі" [6816]: ПОМИЛКА: ./ android / qt / qt_setup.cpp: 28: Бібліотека Qt не знайдена в C: \ Users \ Jay \ AppData \ Local \ Android \ Sdk \ emulator \ lib64 \ qt \ lib

Не вдалося запустити 'C: \ Users \ Jay \ AppData \ Local \ Android \ Sdk \ emulator / qemu / windows-x86_64 / qemu-system-i386.exe': Немає такого файлу чи каталогу

Я ввімкнув VT-x з налаштувань BIOS, але у мене є проблема. Я багато шукав і не можу знайти відповіді. Будь-яка допомога буде дуже вдячна. Хтось може дати мені рішення?

Знімок екрана помилки Знімок журналу


дивіться мою відповідь. Це спрацювало чудово.
Уддхав Гаутам

Відповіді:


157

Здається, це проблема, що стосується недавнього оновлення. Тимчасове рішення - запустити емулятор з /path/to/android-sdk/toolsкаталогу в командному рядку.

Дивіться https://code.google.com/p/android/isissue/detail?id=235461, щоб переглянути цю проблему.


6
Я виконую емулятор з Android / sdk / tools, але все ще отримую помилку QT.
Гонсало

3
У мене була така ж проблема, і це рішення працює на мене.
gontard

2
Останні оновлення станом на вчора. Запуск із каталогу <Android SDK> / tools працював на мене, але у мене також є / tools та / platform-tools. Вони повинні це виправити.
Шон Ейткен

13
Коментар №25 до цього питання
вирішив

1
Працювало для мене, але мені довелося додатково використовувати -use-system-libsяк аргумент emulatorрозташування в каталозі інструментів .
Rany Albeg Wein

105

Усі інші відповіді для мене не спрацювали, оскільки "Емулятор Android" не встановлено зі стандартною установкою Android Studio. Переконайтеся, що ви її встановили, а потім спробуйте інші відповіді, якщо потрібно.введіть тут опис зображення


2
Встановлення "Android-емулятора" також виправило це для мене. Після цього я зміг запустити емулятор ще раз, але отримав наступну помилку HAXM "невідомий hax vcpu return 1". Просто перезапуск моєї машини остаточно вирішив усі проблеми. (Див: stackoverflow.com/a/41867405/2350644 )
user2350644

2
установка емулятора зсередини Android Studio працювала і для мене. Тепер я можу запустити Емулятор і з командного рядка.
abhinavgoyal02

3
Дуже дякую, вирішив мою проблему, витративши 3 години :(
Hossam Ghareeb

1
У мене виникла проблема запуску емулятора на Mac. Він запускався після запуску без будь-якого повідомлення. Ваша порада мені допомогла.
Ростислав Рошак

3
Це мені теж допомогло. В основному з моєї нової установки Android Studio, після запуску оновлень і спроби запустити зображення в емуляторі вперше. Це була помилка. І так, цілком логічно, що вам потрібно використовувати емулятор, якщо ви хочете ним користуватися. Було б добре, якби Android Studio просто сказала: "ви хочете запустити віртуальний пристрій на емуляторі, який ми надаємо, але вам потрібно спочатку встановити цей емулятор. Ви хочете його встановити зараз" ...
morksinaanab

82

Для систем Linux або Mac можна додати ~/.profile(або ~/.bashrc):

function emulator { cd "$(dirname "$(which emulator)")" && ./emulator "$@"; }

потім запустіть, щоб завантажити зміни:

source ~/.profile

(або source ~/.bashrcзвичайно)

Це дозволить виконати, emulatorпоки вони не виправлять проблему

(на основі #10 yanokwa коментаря https://code.google.com/p/android/isissue/detail?id=235461 )


спробував це за допомогою SDK Tools 25.3.1 та ubuntu 16.10, і це не спрацювало, почав отримувати помилки
libGL

Я використовував which emulatorв OSX, щоб знайти папку
V-SHY

@vallllll Я протестував лише на Mac, але він також повинен працювати на Linux. Чи можете ви працювати в Android Studio?
Дж. Коста-

7
В zsh використовувати whence -pзамість which. Також поставте cd ... && ...в круглі дужки, щоб виконати їх у підрозділі, щоб уникнути зміни каталогу в поточній оболонці.
міксель

11
Я можу підтвердити, що він працює на Linux і zsh за допомогою модифікацій @ mixel:function emulator { ( cd "$(dirname "$(whence -p emulator)")" && ./emulator "$@"; ) }
Енді Джонс

63

Я встановив останній Android Emulator 26.1.2, який вирішив цю проблему.

Btw, якщо у вашій PATH є те й інше:

  • C:\AndroidSDK\tools

  • C:\AndroidSDK\emulator

The emulatorКоманда буде намагатися використовувати emulator.exe всередині папки інструментів, який не працює.

Щоб вирішити це у своєму PATH, вам потрібно переміститись C:\AndroidSDK\emulator у рядку перед каталогом інструментів, таким чином виконуваний файл емулятора спочатку буде шукати всередині папки емулятора і матиме перевагу над тим, який присутній у папці інструментів

MacOS: Якщо у вас Mac, ви можете пересуватись ~/Library/Android/sdk/emulatorраніше ~/Library/Android/sdk/tools


8
додавання emulatordir до шляху допомогло мені
Koen.

14
додавання ~ / Бібліотека / Android / sdk / емулятор до ~ / Бібліотека / Android / sdk / інструменти виправляє його і на Mac OS
Jacob Wallström

3
Так, використовуючи mac OS, я ставлю емулятор перед іншими в PATH, і він працює
Аарон Гонг

1
Спасибі - додавання emulatorраніше toolsв шляху працював для мене на Linux.
Ванесса Діган

Дякую, я додав шлях до змінних довкілля та відсортував його. Win10. Також, як було сказано вище, запис емулятора перед інструментами.
Франсуа Мюллер

20

просте рішення - додати цей псевдонім до свого .bashrc .profileабо подібного

alias emu="$ANDROID_HOME/tools/emulator"

тоді source .bashrcабо .profileабо просто відкрийте новий термінал

нарешті запустити емулятор буде так само просто emu -avd name


2
+1 для псевдоніма, який вирішив це для мене. У мене не визначено ANDROID_HOME, тому просто замінили звичайний шлях. Не впевнений, чому здається, що у більшості є, а я - ні.
TahoeWolverine

12

Користувачі Zsh можуть додавати:

function emulator { ( cd "$(dirname "$(whence -p emulator)")" && ./emulator "$@"; ) }

до .zshrc(або .zshenv).

Завантажте зміни до поточної оболонки шляхом пошуку зміненого файлу:

source ~/.zshrc

Тепер ви можете використовувати emulator команду в zsh.

Дякую Дж. Косту за його відповідь за bash.


10

У мене була така ж проблема з останньою Android Studio, встановленою лише вчора на Macbook.

Хоча двійковий файл емулятора був доступний у папці sdk / tools, пакет емуляторів Android не був встановлений. Вибравши Емулятор Android у студії Android-> Налаштування-> Налаштування системи-> Android SDK, завантажили пакет емулятора та встановили його.

Після установки емулятора я можу запустити емулятор.


Мені довелося перезапустити Android Studio після цього.
Адам Джонс

Для Linux перейдіть на сторінкуTools -> Android -> SDK Manager -> SDK Tools -> Activate 'Android Emulator' -> OK
Mitja

Рішення працювало і для мене, @AdamJohns без перезавантаження;)
AamirR

7

Перш за все, тема проблеми в Google Issue Tracker вже була вирішена. Вам більше не доведеться встановлювати змінну оточення, як LD_LIBRARY_PATHвирішення. Але вам доведеться оновити Android SDK і використовувати ПОСЛІДНИЙ emulator пакет (бінарні файли). Не маючи цього, ви все одно побачите дратівливі QTпомилки.

Тоді важливо переконатися, що необхідні пакети SDK встановлені для запуску емулятора. Під час встановлення конкретного зображення емулятора від компанії sdkmanagerвін не перевірятиме та не вимагає встановити необхідні залежності. Щоразу, коли ви бачите скарги на помилки ANDROID_SDK_ROOT, наприклад, PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOTабоPANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value , саме через це.

Отож 3 інших істотних залежності, крім зображення емулятора, є:

  • platform-tools
  • platforms;android-<api_level>
  • emulator

Що ви можете встановити за допомогою:

sdkmanager "platform-tools" "platforms;android-<api_level>" "emulator"

Це api_levelтой самий рівень API, що і зображення емулятора.


mhh я PANIC: Missing emulator engine program for 'x86' CPU.також дістатися до де SDK_ROOTпункту? просто ANDROID_HOME?
Kemuri

Я щойно з'ясував, що emulatorсидить зараз, sdk/emulatorі той , що знаходиться в інструменті, викликає цю помилку.
Kemuri

5

Для тих, хто все ще відчуває проблему, навіть виконуючи команду з .../Sdk/toolsкаталогу, спробуйте додати -use-system-libsаргумент.

Так воно має бути у такому форматі:

path/to/Sdk/emulator -use-system-libs -avd [AVD-NAME]

Для мене ось приклад:

/home/cillian/Android/Sdk/emulator -use-system-libs -avd Nexus5


2
перевірив це на моєму ubuntu 16.10, і це єдине, що працює, я просто використовую емулятор -use-system-libs -avd Pixel_XL_API_25.
vallllll

5

У мене була така ж проблема, і я вирішив її, встановивши емулятор, оскільки якимось чином оновлення видалили її. Зробіть це з інструментів Android Studio-> менеджера SDK. Сподіваюся, це допомагає


Перевстановлення емулятора від менеджера SDK виправило помилку Qt, але тоді я отримав ще одну проблему з HAX. Використання Mac.
Геннон

Виправлена ​​проблема HAX, вийшовши з Docker на моїй машині. Потрібно запустити емулятор з каталогу інструментів. Або ж я знову отримую помилку Qt.
Геннон

4

Я встановив Android Studio 2.3.3 (сьогодні 2017-08-01) на Windows 10 x64

Те саме питання.

  • Я вручну встановив емулятор від Android Studio -> Інструменти -> Android -> Менеджер SDK -> Інструменти SDK -> Емулятор Android (версія 26.1.2)

  • Після встановлення ... те саме питання

  • Я додав свій шлях із папки емулятора до змінних моїх середовищ перед контуром інструментів (наприклад, як одна відповідь вище), але все одно це питання.
  • Потім я видалив emulator.exe і emulator-check.exe з папки інструментів, і це вирішило для мене проблему


3

Ця проблема, здається, виправлена ​​у Кордові версії 7.0.X

Якщо ви використовуєте Кордову версію 6.5.0, ви можете це легко виправити.

Корінь проблеми знаходиться у файлі emulator.js, розташованому з кореня каталогу вашого проекту за адресою ./platforms/android/cordova/lib/emulator.js

Просто оновіть наступний рядок (для мене це був рядок 205):

.spawn ('емулятор', args, {stdio: 'nasledit', від'єднано: true})

до

.spawn ('емулятор', args, {stdio: 'nasledit', відокремлений: true, cwd: process.env ['ANDROID_HOME'] + '/ tools'})

Це дозволить вирішити проблему відносного шляху.

Крім того, є другий виправлення, необхідне для версії Cordova 6.5.0 у рядку 56. Просто відмініть букву "s" від слова " avds " множини, щоб зробити її " avd " одниною.


Просто додамо, що для інших, хто це читає, це: якщо ви щойно встановили SDK через заварку готівки, вам слід замінити ANDROID_HOME на ANDROID_SDK_ROOT (якщо ви також не налаштували env ANDROID_HOME)
Lubricin

3

Я стикався з цим питанням

  java.io.IOException: Cannot download 
 'https://dl.google.com/android/repository/emulator-windows-4266726.zip'

Я оновив до студії 3.0 у Windows 10, мої емулятори перестали працювати. Що я зробив для виправлення,

Видалені попередні папки інсталяції для андроїд-студії, як-то 2.0 та 2.1, розміщені під моїм іменем користувача поряд із папкою .AndroidStudio3.0 (залишаючи її недоторканою).

Видалено раніше встановлені емулятори, які будь-яким способом перестали працювати.

Завантажено zip-файл емулятора вручну за посиланням вище. Вставте його вміст у папку емулятора

       C:\Users\myusername\AppData\Local\Android\Sdk\emulator

Створив новий емулятор і запустив його, Бінго! це працює !!


1
Це той, що нарешті зробив для мене хитрість, за винятком того, що я не завантажував посилання, але оновив емулятор за допомогою SDK Manager в Android Studio 3.0
yvesmancera

3

Виконайте ці кроки, щоб вирішити цю проблему (Windows 10):

  1. Перевірте в студії Android, якщо ви встановили емулятор Android, якщо ні, встановіть його.

  2. Перевірте в студії Android, якщо ви встановили Intel X86 Emulator Accelerator (інсталятор HAXM), якщо ні, встановіть його.

  3. У змінних середовища => Змінні системи редагують "Шлях". Вам потрібно додати цей рядок для емулятора: %ANDROID_HOME%\emulatorдо %ANDROID_HOME%\toolsта %ANDROID_HOME%\platform-tools(Третій крок був для мене рішенням.)


2

Для Mac

Якщо у вас є створення емуляторів, спробуйте цей код оболонки:

#!/bin/bash
cd /Users/***/Library/Android/sdk/tools/
avds=`emulator -list-avds`
echo "show All emulators"
i=0
for item in $avds
do
    echo [$i] $item
    let i+=1
done
read index
avds=($avds)
# echo ${avds[$index]}
emulator -avd ${avds[$index]}

*** - ваше ім’я користувача


2

Моя андроїдна студія знаходиться в операційній системі Windows. але більшість відповідей на цій сторінці для мене не працюють.

але я зрозумію це простим способом.

У програмі IDE для Android Studio відкрийте [менеджер Sdk], перевірте, чи ви завантажили [Емулятор Android] та [Інструмент Android SDK]

Як їх перевірити?

[Менеджер SDK] -> [Зовнішній вигляд та поведінка] -> [Налаштування системи] -> [Android Sdk] -> Тут є вкладки і виберіть другий [інструменти SDK]. потім перевірте [Емулятор Android] та [Інструмент Android SDK].

Сподіваємось, що це може вам допомогти.

Удачі!


2

Я бачу, що вам слід лише додати внизу шлях, щоб мати можливість запускати емулятор

C:\Users\Ram\AppData\Local\Android\Sdk\platform-tools
C:\Users\Ram\AppData\Local\Android\Sdk\emulator.

Після встановлення Android Studio 3.0 і новіших версій я бачу, що C:\Users\Ram\AppData\Local\Android\Sdk\emulator емулятор_папкафайли мають такі самі, як іC:\Users\Ram\AppData\Local\Android\Sdk\tools папка інструментів

У папці інструментів відсутні деякі файли, тому видаліть папку інструментів із шляху.

Ви можете використовувати команди емулятора нижче, щоб запустити емулятор з командного рядка:

emulator -list-avds

emulator @Pixel_2_XL_API_26 - Based on the avd that you have setup

emulator_commands


1

Встановлення емулятора Android вирішить проблему, оскільки цей параметр за замовчуванням не включений в андроїд-студії. В андроїд-студії 3+ і далі ви не можете його знайти в розділі Інструменти -> Android -> Менеджер SDK -> Інструменти SDK -> Емулятор Android, але це в розділі Файл -> Налаштування -> Зовнішній вигляд і поведінка -> Налаштування системи -> Android SDK -> Інструменти SDK -> Емулятор Android


1

Я просто вирішив цю проблему для сценарію безголівкового емулятора. Тому якщо я перевірив папку andrdoid_sdk, є 2 виконуваних емулятора. Проблема полягає в одній версії

${ANDROID_HOME}/emulator/emulator
version 29.3.4
no issue

а другий -

${ANDROID_HOME}/tools/emulator
version 26.0.3
QT issue

тому переконайтеся, що ви використовуєте останню версію емулятора, особливо якщо вам потрібен емулятор без голови, як зазначено на: https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html



0

Ви також можете просто відкрити інструменти> AVD Manager з Android Studio і запустити емулятор вручну.


Я думав , що ОП був про погіршення через меню Android Studio. Для мене графічний інтерфейс працює, але я не можу заставити командний рядок emulator -avd "Nexus_5X_API_27"працювати.
MarkHu

0

У базовій ОС можуть бути помилки / оновлення. Таким чином, замість оновлення в .profile, /etc/environmentабо .bashrcфайл в точку adb, і emulatorт.д., покласти (скопіювати і вставити) все emulatorпапки всередині /usr/binкаталогу. Цей / usr / bin за замовчуванням вказується системою. Встановіть adbінструмент з терміналу. Це повинно вирішити все.

І / або оновіть всі змінні середовища у /etc/bash.bashrcфайлі. Зауважте, що: /etc/bash.bashrcфайл - це те, що виконується щоразу, коли ви відкриваєте термін bash.


0

Якщо ви використовуєте контейнер Docker, у якому запущено зображення Ubuntu x86, можливо, неможливо запустити емулятор на основі x86 в межах Docker-зображення. Ви отримаєте або "Qt library not found"помилку, або "Please ensure KVM is properly installed and usable"помилку (більше інформації тут ).

Альтернативою є використання емулятора на основі ARM, який легше запускати, хоча вони повільніше:

# Download an ARM emulator image
android-sdk/tools/bin/sdkmanager "system-images;android-24;default;armeabi-v7a"

# Create an ARM-based emulator AVD with 250 MB SD card
avdmanager create avd -n Android_7.0_API_24 -k "system-images;android-24;default;armeabi-v7a" -c 250M --force

# Check the image is properly created and available to run
android-sdk/emulator/emulator -list-avds

# Run the emulator
android-sdk/emulator/emulator -avd Android_7.0_API_24

Більше інформації: https://medium.com/@AndreSand/android-emulator-on-docker-container-f20c49b129ef


0

Рішення, яке працювало для мене, якого я тут раніше не бачив, - це посилання android-sdk/emulator/emulatorна android-sdk/tools/emulator.

Тупий? Геніальність? робочіформи.


Це не працює. У мене вже є файл у вказаному місці
Ашок Кой,

0

Я вирішив це просто, додавши $ ANDROID_SDK_ROOT / емулятор у $ PATH.

Я не знаю, чому в SDK для Android є два двійкові емулятори exec. 1) у $ ANDROID_SDK_ROOT / інструменти 2) $ ANDROID_SDK_ROOT / емулятор, але другий працює для мене.

Я використовую fish shellдодавання нижче рядка в ~ / .config / fish / config.fish.

set -x ANDROID_SDK_ROOT $HOME/Android/Sdk
set -x JAVA_HOME $HOME/android-studio/jre
set -x PATH $PATH $ANDROID_SDK_ROOT/emulator
set -x PATH $PATH $ANDROID_SDK_ROOT/tools
set -x PATH $PATH $ANDROID_SDK_ROOT/tools/bin
set -x PATH $PATH $ANDROID_SDK_ROOT/platform-tools

0

Мені вдається вирішити цю помилку. У моїй системі змінну мені потрібно встановитиANDROID_HOME

системна змінна

Для моєї змінної користувача мені потрібні обидва ці шляху

C:\Users\tonyhudson\AppData\Local\Android\Sdk\platform-tools
C:\Users\tonyhudson\AppData\Local\Android\Sdk\emulator

Не забудьте видалити, C:\Users\tonyhudson\AppData\Local\Android\Sdk\toolsоскільки це призведе до помилки

користувацька змінна


0

Коли ви встановили лише Android SDK, а не студію Android. Вам потрібно знайти шлях емулятора і виконати повний шлях. Наприклад,

/ usr / local / share / android-sdk / tools / emulator @test

Це має вирішити вашу проблему. Принаймні, це те, що працювало для мене.



0

Я працюю над рідною реакцією, і я зіткнувся з цією проблемою, я не міг відкрити Емулятор від cmd, що насправді дратувало, тому що мені довелося відкривати його з Android Studio, який дуже довго займає.

Отже, спочатку перевірте, чи можете ви відкрити емулятор, запустивши cmd у Android\Sdk\emulatorпапці абоAndroid\Sdk\tools він працює у будь-якій із цих папок, тоді це рішення для вас! 😀

у моєму випадку запуск cmd в обох цих папках працював, але якщо відкрити cmd у будь-якій іншій папці, мій емулятор не буде працювати і через цю помилку:

[14684]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at ..\emulator\lib64\qt\lib
Could not launch 'C:\Users\Shehr\AppData\Local\..\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe': No such file or directory

Отже, як я вирішив це, не витрачаючи часу:

  1. спочатку скопіюйте шлях до папки, де працює емулятор у cmd, у моєму випадку це Android\Sdk\emulator&&Android\Sdk\tools тому ми копіюємо будь-який із цих шляхів!
  2. Відредагуйте змінні системного середовища та додайте нову змінну, запишіть скопійований шлях у значення та назвіть його "ЕМУЛЯТОР" (або як би ви хочете назвати змінну).

Тепер просто запустіть команду в cmd у будь-якій такій папці, %EMULATOR% -avd DEVICE_NAMEщоб ми назвали нашу змінну, EMULATORтому ми будемо використовувати %EMULATOR%замість emulator! Ось як cmd буде націлений на правильний файл emulator.exe, і він буде працювати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.