Tidak dapat meluncurkan AVD di emulator: Pustaka QT tidak ditemukan


132

Saya baru mengenal Android Studio dan saya mengalami masalah saat menggunakan emulator. Ketika saya mencoba menjalankannya, saya terus ngadat mengatakan:

"Tidak dapat meluncurkan AVD di emulator" [6816]: ERROR: ./ android / qt / qt_setup.cpp: 28: Pustaka Qt tidak ditemukan di C: \ Users \ Jay \ AppData \ Lokal \ Android \ Sdk \ emulator \ lib64 \ qt \ lib

Tidak dapat meluncurkan 'C: \ Users \ Jay \ AppData \ Local \ Android \ Sdk \ emulator / qemu / windows-x86_64 / qemu-system-i386.exe': Tidak ada file atau direktori seperti itu

Saya telah mengaktifkan VT-x dari pengaturan BIOS namun saya mengalami masalah. Saya telah mencari banyak dan tidak dapat menemukan jawaban. Bantuan apa pun akan sangat dihargai. Adakah yang bisa memberi saya solusi?

Cuplikan layar kesalahan Log Snapshot


lihat jawaban saya. Itu bekerja dengan sempurna.
Uddhav Gautam

Jawaban:


157

Ini tampaknya menjadi masalah yang berkaitan dengan pembaruan terbaru. Solusi sementara adalah meluncurkan emulator dari dalam /path/to/android-sdk/toolsdirektori di commandline.

Lihat https://code.google.com/p/android/issues/detail?id=235461 untuk mengikuti masalah ini.


6
Saya menjalankan emulator dari Android / SDK / tools tapi saya masih mendapatkan error QT.
Gonzalo

3
Saya memiliki masalah yang sama dan solusi ini berfungsi untuk saya.
gontard

2
Pembaruan terbaru pada kemarin. Menjalankan dari direktori <Android SDK> / tools bekerja untuk saya, tetapi saya juga memiliki / tools dan / platform-tools di jalur saya. Mereka harus memperbaikinya.
Sean Aitken

13
Komentar # 25 tentang masalah ini telah diperbaiki untuk saya
Gregriggins36

1
Bekerja untuk saya, tetapi saya juga harus menggunakan -use-system-libsargumen ke direktori alat yangemulator terletak .
Rany Albeg Wein

105

Semua jawaban lain tidak berfungsi untuk saya karena "Android Emulator" tidak diinstal dengan instalasi standar Android Studio. Pastikan Anda telah menginstalnya dan kemudian coba jawaban lain jika diperlukan.masukkan deskripsi gambar di sini


2
Menginstal "Android Emulator" juga memperbaikinya untuk saya. Setelah itu saya bisa meluncurkan emulator lagi, tetapi mendapat kesalahan HAXM berikut "unknown hax vcpu return 1". Cukup me-restart mesin saya akhirnya menyelesaikan semua masalah. (Lihat: stackoverflow.com/a/41867405/2350644 )
user2350644

2
menginstal emulator dari dalam Android Studio juga bekerja untuk saya. Sekarang saya dapat menjalankan Emulator dari baris perintah juga.
abhinavgoyal02

3
Benar-benar terima kasih, menyelesaikan masalah saya setelah menghabiskan 3 jam :(
Hossam Ghareeb

1
Saya punya masalah memulai emulator di Mac. Dulu macet setelah startup tanpa pesan. Tip Anda membantu saya.
Rostyslav Roshak

3
Ini membantu saya juga. Pada dasarnya dengan instalasi Android Studio saya yang baru, setelah menjalankan pembaruan dan mencoba memulai gambar di emulator pertama kali. Ini kesalahannya. Dan ya, cukup logis Anda harus menginstal emulator jika Anda ingin menggunakannya. Alangkah baiknya jika Android Studio hanya mengatakan: "Anda ingin menjalankan perangkat virtual pada emulator yang kami sediakan, tetapi Anda harus menginstal emulator ini terlebih dahulu, apakah Anda ingin menginstalnya sekarang?" ....
morksinaanab

82

Untuk sistem Linux atau Mac Anda dapat menambahkan yang berikut ke ~/.profile(atau ~/.bashrc):

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

lalu jalankan untuk memuat perubahan:

source ~/.profile

(atau source ~/.bashrctentu saja)

Ini akan memungkinkan untuk mengeksekusi emulatorsampai mereka memperbaiki masalah

(berdasarkan #10 yanokwakomentar dari https://code.google.com/p/android/issues/detail?id=235461 )


mencoba ini dengan SDK Tools 25.3.1 dan ubuntu 16.10 dan tidak berhasil, mulai mendapatkan kesalahan
libGL

saya digunakan which emulatordi osx untuk menemukan folder
V-SHY

@vallllll Saya baru saja menguji pada Mac tetapi harus bekerja pada Linux juga. Apakah Anda dapat menjalankan dalam Android Studio?
J. Costa

7
Dalam penggunaan zsh whence -pbukannya which. Masukkan juga cd ... && ...tanda kurung untuk menjalankannya dalam subkulit untuk menghindari perubahan direktori pada shell saat ini.
mixel

11
Saya dapat mengonfirmasi bahwa ia berfungsi di linux dan zsh dengan modifikasi @ mixel:function emulator { ( cd "$(dirname "$(whence -p emulator)")" && ./emulator "$@"; ) }
Andy Jones

63

Saya telah menginstal Android Emulator 26.1.2 terbaru yang telah memecahkan masalah ini.

Btw jika di PATH Anda memiliki keduanya:

  • C:\AndroidSDK\tools

  • C:\AndroidSDK\emulator

The emulatorperintah akan mencoba untuk menggunakan emulator.exe dalam folder alat, yang tidak bekerja.

Untuk menyelesaikan ini di PATH Anda, Anda perlu bergerak C:\AndroidSDK\emulator di baris sebelum direktori tools, dengan cara ini emulator executable akan dicari di dalam folder emulator terlebih dahulu dan akan diutamakan daripada yang ada di folder tools.

MacOS: Jika Anda memiliki Mac, Anda dapat pindah ~/Library/Android/sdk/emulatorsebelumnya ~/Library/Android/sdk/tools


8
menambahkan emulatordir ke jalan membantu saya
Koen.

14
menambahkan ~ / Library / Android / SDK / emulator sebelum ~ / Library / Android / SDK / tools memperbaikinya juga pada Mac OS
Jacob Wallström

3
Ya, menggunakan mac OS, saya meletakkan emulator di depan yang lain di PATH dan berfungsi
Aaron Gong

1
Terima kasih - menambahkan emulatorsebelumnya toolsdi jalur bekerja untuk saya di Linux.
Vanessa Deagan

Terima kasih, saya menambahkan path ke Variabel lingkungan dan mengurutkannya langsung. Menang10. Juga seperti yang disebutkan di atas, entri emulator sebelum Alat.
Francois Muller

20

solusi sederhana adalah menambahkan alias ini ke Anda .bashrc .profileatau setara

alias emu="$ANDROID_HOME/tools/emulator"

lalu source .bashrcatau .profileatau cukup buka terminal baru

akhirnya menjalankan emulator Anda akan sesederhana emu -avd name


2
+1 untuk alias, yang menyelesaikannya untuk saya. Saya tidak memiliki ANDROID_HOME yang ditetapkan, jadi ganti saja jalur yang normal. Tidak yakin mengapa sepertinya sebagian besar memilikinya dan saya tidak ... Saya menggunakan mac.
TahoeWolverine

12

Pengguna Zsh dapat menambahkan:

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

ke .zshrc(atau .zshenv).

Muat perubahan ke shell saat ini dengan sumber file yang diubah:

source ~/.zshrc

Sekarang Anda dapat menggunakan emulatorperintah di zsh.

Terima kasih kepada J. Costa untuk jawabannya bash.


10

Saya memiliki masalah yang sama dengan Android Studio terbaru yang diinstal baru kemarin di Macbook.

Meskipun biner emulator tersedia di folder sdk / tools, paket Android Emulator tidak diinstal. Memilih Android Emulator di Android Studio-> Preferences-> System Settings-> Android SDK, mengunduh paket emulator dan menginstalnya.

Setelah instalasi emulator, saya dapat meluncurkan emulator.


Saya harus memulai ulang Android Studio setelah melakukan ini.
Adam Johns

Untuk Linux, bukaTools -> Android -> SDK Manager -> SDK Tools -> Activate 'Android Emulator' -> OK
Mitja

Solusi juga berfungsi untuk saya, @AdamJohns tanpa memulai ulang;)
AamirR

7

Pertama-tama, utas masalah di Google Issue Tracker sudah diselesaikan. Anda tidak perlu menetapkan variabel lingkungan seperti LD_LIBRARY_PATHsebagai solusi lagi. Tetapi Anda harus memutakhirkan SDK Android Anda dan menggunakan paket TERBARU emulator (binari). Tanpa itu, Anda masih akan melihat QTkesalahan yang mengganggu .

Kemudian, sangat penting untuk memastikan bahwa paket SDK yang diperlukan diinstal untuk meluncurkan emulator. Saat memasang gambar emulator tertentu sdkmanager, itu tidak akan memeriksa atau meminta Anda untuk menginstal dependensi yang diperlukan. Setiap kali Anda melihat kesalahan yang dikeluhkan ANDROID_SDK_ROOT, seperti PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOTatau PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value, itu justru karena itu.

Jadi 3 dependensi penting lainnya selain dari gambar emulator adalah:

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

Yang dapat Anda instal melalui:

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

Ini api_leveladalah tingkat API yang sama dengan gambar emulator Anda.


mhh saya PANIC: Missing emulator engine program for 'x86' CPU.juga sampai kemana SDK_ROOTintinya? adil ANDROID_HOME?
kemuri

saya baru tahu emulatorduduk sekarang sdk/emulatordan satu dari alat menyebabkan kesalahan itu.
kemuri

5

Bagi mereka yang masih mengalami masalah bahkan ketika melakukan perintah dari .../Sdk/toolsdirektori, coba tambahkan -use-system-libsargumen.

Jadi harus dalam format berikut:

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

Bagi saya, ini sebuah contoh:

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


2
menguji ini di Ubuntu 16.10 saya dan itu adalah satu-satunya yang berfungsi, saya hanya menggunakan emulator -use-system-libs -avd Pixel_XL_API_25.
vallllll

5

Saya memiliki masalah yang sama dan saya menyelesaikannya dengan menginstal emulator yang menyebabkan pembaruan sepertinya telah menghapusnya. Lakukan itu dari Android Studio tools-> SDK manager. Semoga ini membantu


Instal ulang emulator dari SDK Manager memperbaiki bug Qt, tapi akhirnya saya mendapatkan masalah lain dengan HAX. Menggunakan Mac.
Gennon

Atasi masalah HAX dengan berhenti dari Docker di mesin saya. Harus memulai emulator dari direktori alat. Atau saya mendapatkan bug Qt lagi.
Gennon

4

Saya telah menginstal Android Studio 2.3.3 (hari ini 2017-08-01) di windows 10 x64

Masalah yang sama.

  • Saya telah menginstal emulator secara manual dari Android Studio -> Tools -> Android -> Sdk Manager -> SDK Tools -> Android Emulator (versi 26.1.2)

  • Setelah instalasi ... masalah yang sama

  • Saya telah menambahkan jalur saya dari folder emulator ke variabel lingkungan saya sebelum jalur alat (seperti sebagai satu jawaban di atas) tetapi masih memiliki masalah yang sama.
  • Kemudian saya telah menghapus emulator.exe dan emulator-check.exe dari folder tools dan ini diselesaikan untuk mi masalahnya


3

Masalah ini tampaknya diperbaiki di Cordova versi 7.0.X

Jika Anda menggunakan Cordova versi 6.5.0 Anda dapat memperbaikinya dengan mudah.

Akar masalahnya ada di file emulator.js yang terletak dari root direktori proyek Anda di ./platforms/android/cordova/lib/emulator.js

Cukup perbarui baris berikut, (bagi saya itu baris 205):

.spawn ('emulator', args, {stdio: 'inherit', detached: true})

untuk

.spawn ('emulator', args, {stdio: 'inherit', detached: true, cwd: process.env ['ANDROID_HOME'] + '/ tools'})

Ini akan memperbaiki masalah jalur relatif yang Anda alami.

Juga, ada perbaikan kedua yang diperlukan untuk Cordova versi 6.5.0 pada baris 56. Cukup lepaskan huruf "s" dari kata " avds " jamak, untuk menjadikannya " avd " singular.


Untuk menambahkannya ke orang lain yang membaca ini adalah: jika Anda baru saja menginstal SDK melalui brew cash, Anda harus mengganti ANDROID_HOME dengan ANDROID_SDK_ROOT (kecuali jika Anda telah menyetel env ANDROID_HOME juga)
Lubricin

3

Saya menghadapi masalah ini

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

Saya memperbarui ke studio 3.0 di windows 10, emulator saya berhenti bekerja. Hal yang saya lakukan untuk memperbaikinya,

Folder instalasi sebelumnya dari android studio seperti 2.0 dan 2.1 hadir di bawah nama pengguna saya di samping folder .AndroidStudio3.0 (membiarkannya tidak tersentuh).

Menghapus emulator yang sebelumnya diinstal yang dengan cara apa pun berhenti bekerja.

Mengunduh file zip emulator secara manual dari tautan di atas. Disisipkan isinya dalam folder emulator dari

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

Membuat emulator baru dan memulainya, Bingo! ini bekerja!!


1
Inilah yang akhirnya melakukan trik untuk saya, kecuali saya tidak mengunduh dari tautan tetapi memperbarui emulator menggunakan SDK Manager di Android Studio 3.0
yvesmancera

3

Ikuti langkah-langkah ini untuk menyelesaikan masalah itu (Windows 10):

  1. Periksa di Android studio jika Anda menginstal emulator Android, jika tidak, instal.

  2. Periksa di Android studio jika Anda menginstal Intel x86 Emulator Accelerator (penginstal HAXM), jika tidak, instal.

  3. Di Lingkungan, variabel => Variabel sistem, sunting "Path". Anda perlu menambahkan baris ini untuk emulator: %ANDROID_HOME%\emulatorsebelum %ANDROID_HOME%\toolsdan %ANDROID_HOME%\platform-tools(Langkah ketiga adalah solusi untuk saya.)


2

Untuk Mac

Jika sudah membuat emulator, coba kode shell ini:

#!/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]}

*** adalah nama pengguna Anda


2

Studio android saya ada di sistem operasi windows. tetapi sebagian besar jawaban di halaman ini tidak berfungsi untuk saya.

tapi saya mengatasinya dengan cara yang mudah.

Di IDE studio android Anda, buka [Sdk manager], periksa apakah Anda telah mengunduh [Android Emulator] dan [Android SDK tool]

Bagaimana cara memeriksanya?

[SDK Manager] -> [Penampilan & perilaku] -> [Pengaturan Sistem] -> [Android SDK] -> Ada tab di sini dan pilih yang kedua [Alat SDK]. kemudian periksa [Android Emulator] dan [Android SDK tool].

Semoga itu bisa membantu Anda.

Semoga berhasil!


2

Saya melihat bahwa Anda hanya perlu menambahkan di bawah ini ke jalur untuk dapat meluncurkan emulator

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

Setelah menginstal Android Studio 3.0 dan lebih tinggi, saya melihat bahwa C:\Users\Ram\AppData\Local\Android\Sdk\emulator emulator_foldermemiliki file yang samaC:\Users\Ram\AppData\Local\Android\Sdk\tools tools_folder

Folder alat kehilangan beberapa file, jadi hapus folder alat dari jalur.

Anda dapat menggunakan perintah emulator di bawah ini untuk meluncurkan emulator dari command prompt:

emulator -list-avds

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

emulator_commands


1

Menginstal emulator Android akan menyelesaikan masalah karena pengaturan ini tidak secara default diaktifkan di studio android. Di android studio 3+ dan seterusnya, Anda tidak dapat menemukannya di bawah Tools -> Android -> Sdk Manager -> SDK Tools -> Android Emulator tetapi berada di bawah File -> Settings -> Appearance & Behavior -> Pengaturan Sistem -> Android SDK -> SDK Tools -> Android Emulator


1

Saya baru saja memecahkan masalah ini untuk skenario emulator tanpa kepala Jadi Jika saya memeriksa folder andrdoid_sdk saya ada 2 emulator yang dapat dieksekusi. Masalahnya adalah duduk satu versi

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

dan yang kedua adalah

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

jadi pastikan Anda menggunakan versi emulator terbaru terutama jika Anda memerlukan emulator tanpa kepala seperti yang dinyatakan pada: https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html



0

Anda juga dapat membuka Tools> AVD Manager dari Android Studio dan memulai emulator secara manual.


Saya pikir OP adalah tentang kegagalan melalui menu Android Studio. Bagi saya, GUI berfungsi, tetapi saya tidak bisa mendapatkan command-line emulator -avd "Nexus_5X_API_27"untuk bekerja.
MarkHu

0

Mungkin ada bug / pembaruan yang terjadi di OS yang mendasarinya. Jadi, alih-alih memperbarui di .profile,, /etc/environmentatau .bashrcfile ke titik adb, emulatordll, masukkan (salin dan tempel) semua emulatorfolder di dalam /usr/bindirektori. / Usr / bin ini secara default ditunjukkan oleh sistem. Installadb alat dari terminal. Ini harus menyelesaikan semuanya.

Dan / Atau, perbarui semua variabel lingkungan Anda di /etc/bash.bashrcfile. Perhatikan bahwa: /etc/bash.bashrcfile adalah yang dieksekusi setiap kali Anda membuka terminal bash.


0

Jika Anda menggunakan wadah Docker yang menjalankan gambar Ubuntu x86, tidak mungkin untuk menjalankan emulator berbasis x86 di dalam gambar Docker. Anda akan mendapatkan "Qt library not found"kesalahan atau "Please ensure KVM is properly installed and usable"kesalahan (info lebih lanjut di sini ).

Alternatifnya adalah dengan menggunakan emulator berbasis ARM, yang lebih mudah dijalankan, meskipun lebih lambat:

# 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

Info lebih lanjut: https://medium.com/@AndreSand/android-emulator-on-docker-container-f20c49b129ef


0

Sebuah solusi yang bekerja untuk saya bahwa saya tidak melihat di sini sebelum adalah untuk nge-link android-sdk/emulator/emulatorke android-sdk/tools/emulator.

Bodoh? Jenius? bekerja dengan baik.


Tidak bekerja. Saya sudah memiliki file di lokasi yang ditentukan
Ashok Koyi

0

Saya memperbaikinya hanya dengan menambahkan $ ANDROID_SDK_ROOT / emulator di $ PATH.

Saya tidak tahu mengapa ada dua emulator binary exec di Android SDK. 1) di $ ANDROID_SDK_ROOT / tools 2) $ ANDROID_SDK_ROOT / emulator, tetapi yang kedua bekerja untuk saya.

Saya menggunakan fish shellmenambahkan baris di bawah ini di ~ / .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

Saya berhasil mengatasi kesalahan ini. Dalam varible sistem saya, saya perlu mengaturANDROID_HOME

variabel sistem

Untuk variabel Pengguna saya, saya membutuhkan kedua jalur ini

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

Ingatlah untuk menghapus C:\Users\tonyhudson\AppData\Local\Android\Sdk\toolskarena itu akan menyebabkan kesalahan

variabel pengguna


0

Ketika Anda telah menginstal hanya Android SDK dan bukan Android studio. Anda perlu mengetahui jalur emulator dan mengeksekusi dengan jalur penuh. Sebagai contoh,

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

Ini harus menyelesaikan masalah Anda. Setidaknya inilah yang bekerja untuk saya.



0

Saya sedang mengerjakan reaksi asli dan saya menghadapi masalah ini, saya tidak bisa membuka Emulator dari cmd yang sangat mengganggu karena saya harus membukanya dari Android Studio yang sangat memakan waktu.

Jadi, periksa dulu apakah Anda dapat membuka emulator dengan menjalankan cmd di Android\Sdk\emulatorfolder atauAndroid\Sdk\tools jika itu berfungsi di salah satu folder ini maka solusi ini adalah untuk Anda! 😀

dalam kasus saya menjalankan cmd di kedua folder ini berfungsi tetapi jika buka cmd di folder lain emulator saya tidak akan berfungsi dan melalui kesalahan ini:

[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

Jadi bagaimana saya menyelesaikannya tanpa membuang waktu saya:

  1. pertama-tama salin jalur folder tempat emulator bekerja di cmd, dalam kasus saya itu adalah Android\Sdk\emulator&&Android\Sdk\tools jadi kami salin salah satu dari path ini!
  2. Edit variabel lingkungan sistem dan tambahkan variabel baru, tulis jalur yang Anda salin ke dalam nilai dan beri nama "EMULATOR" (atau apa pun yang Anda ingin beri nama variabel).

Sekarang hanya menjalankan perintah di cmd di folder seperti ini %EMULATOR% -avd DEVICE_NAMEsehingga kami beri nama variabel kita EMULATORsehingga kita akan menggunakan %EMULATOR%bukan emulator! Begitulah cara cmd akan menargetkan ke file emulator.exe yang benar dan itu akan berfungsi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.