Kesalahan emulator: Konfigurasi AVD ini tidak memiliki file kernel

183

Masalah ini ditemukan ketika saya mencoba menjalankan emulator Android di Eclipse. Tidak tahu apa yang terjadi. Saya mencari solusinya secara online, tetapi tampaknya tidak jelas dan saya tidak mengerti dengan jelas. Saya mengikuti langkah-langkah untuk menginstal AVD sesuai dengan situs dan saya tidak tahu apa yang saya lewatkan. Tolong jelaskan kepada saya dalam langkah-langkah untuk mengikuti.

shoujo_sm
sumber
masalah yang sama: stackoverflow.com/questions/8190820/scala-android-newbie - buat AVD baru
zapl
1
Pada mac masih tidak bisa memulainya; menggunakan perbaikan pada AVD bekerja untuk saya stackoverflow.com/a/15971119/664220
Ronnie
restart Eclipse setelah menginstal gambar ARM dan kemudian membuat AVD baru bekerja untuk saya.
Simon
Mungkin tautan ini dapat membantu: developer.android.com/tools/help/avd-manager.html
Abhijeet

Jawaban:

254

"ARM EABI v7a System Image" harus tersedia. Instal melalui manajer Android SDK: Manajer Android SDK

Petunjuk lain (lihat di sini ) - dengan

  • Android SDK Tools rev 17 atau lebih tinggi
  • Android 4.0.3 (API Level 15)
  • menggunakan SDK rev 3 dan System Image rev 2 (atau lebih tinggi)

Anda dapat mengaktifkan emulasi GPU untuk mendapatkan emulator yang lebih cepat: masukkan deskripsi gambar di sini

Catatan: Sesuai dengan komentar Anda786 jika sebelumnya Anda telah membuat emulator maka Anda perlu membuatnya kembali, jika tidak maka ini tidak akan berfungsi.

Alternatif 1
Intel menyediakan " manajer eksekusi akselerasi perangkat keras Intel ", yang merupakan emulator berbasis VM untuk mengeksekusi gambar X86 dan yang juga dilayani oleh Android SDK Manager. Lihat tutorial untuk emulator Intel di sini: HAXM Mempercepat Android Emulator . Roman Nurik memposting di sini bahwa emulator Intel dengan Android 4.3 "menyala sangat cepat".

Alternatif 2
Dalam komentar dari posting di atas Anda dapat menemukan referensi ke Genymotion yang mengklaim sebagai "emulator Android tercepat untuk pengujian dan presentasi aplikasi". Genymotion berjalan di VirtualBox. Lihat juga situs mereka di Google+ , posting ini dari Cyril Mottier dan panduan ini tentang reddit .

Alternatif 3
Di XDA-Forums saya membaca tentang MEmu - Emulator Android Paling Kuat untuk PC, Better Than Bluestacks . Anda dapat menemukan emulator di sini . Ini membawa saya ke ...

Alternatif 4
... entri XDA-Forum ini: Cara menggunakan THE CEPAT! BlueStack sebagai emulator pengembangan Android alternatif Anda . Anda dapat menemukan emulator di sini .

ChrLipp
sumber
1
Sayangnya menabrak kartu ATI tertentu ketika emulasi GPU dihidupkan - menantikan emulator yang diperbarui.
ChrLipp
23
Saya menemukan bahwa saya harus menghapus emulator dan membuatnya kembali setelah menginstal untuk menyelesaikan masalah ini.
you786
3
@ you786 ya, penting untuk membuatnya kembali
Bobs
1
Saya telah melakukan semua cara yang mungkin tetapi masih ada di sana saat meluncurkan simulator
VISHNU GARG
Lihat jawaban saya di bawah ini.
Marc Rochkind
22

Alasan lain Anda bisa mendapatkan kesalahan ini adalah Eclipse tidak dapat menemukan file yang benar.

Lihat di mana Eclipse mencari file SDK Anda. Anda dapat melakukan ini di baris perintah. Di bawah ini adalah contoh untuk command prompt windows untuk avd yang saya buat dan bernama 'SonyTabletS':

c:\Program Files (x86)\Android\android-sdk\tools> emulator @SonyTabletS -verbose

Baris pertama yang dikembalikan menunjukkan tempat gerhana mencari file SDK dan akan terlihat seperti:

emulator: found ANDROID_SDK_ROOT: C:\Program Files (x86)\Android\android-sdk

Pastikan lokasi itu benar.

Dalam kasus saya, ANDROID_SDK_ROOTawalnya diset ke direktori home saya salah. Ini karena saya mengaturnya dengan membabi buta mengikuti instruksi pemasangan Sony Tablet S SDK dan menambahkan ANDROID_SDK_ROOTvariabel lingkungan dengan jalur yang salah.

KCD
sumber
Dalam kasus saya, Android \ android-studio \ sdk telah diambil alih lokasi ANDROID_SDK_ROOT saat saya menjalankan emulator dari folder Android \ android-sdk. Setelah benar menunjuk ke Android \ android-SDK, itu berfungsi.
noel aye
Ini untuk saya. Lingkungan build saya menggunakan satu ANDROID_SDK_ROOT yang tidak dapat saya perbarui dengan mudah. Cara mengatasinya adalah meluncurkan prompt perintah bersih dan mengatur ANDROID_SDK_ROOT ke yang benar dan meluncurkan manajer SDK dari sana.
Doug Coburn
Periksa ulang apakah Anda tidak sengaja menginstal dua salinan SDK. Jika Anda seperti saya, Anda menginstal "ARM EABI v7a System Image" di satu salinan tetapi AVD berusaha menemukannya di salinan lain. Saya menghapus salah satu salinan SDK saya dan kemudian emulator saya mulai.
sffc
Dalam kasus saya, folder SDK saya menunjuk ke dir yang benar.
Neon Warge
16

Kisah saya, Eclipse ingin file yang disebut " kernel-ranchu" di folder gambar sistem ( /path/to/android-sdk-macosx/system-images/android-25/google_apis/arm64-v8a).

emulator: ERROR: Konfigurasi AVD ini tidak memiliki file kernel! Harap pastikan file "kernel-ranchu" berada di lokasi yang sama dengan gambar sistem Anda.

emulator: ERROR: ANDROID_SDK_ROOT tidak terdefinisi

Di folder gambar sistem itu ada file bernama " kernel-qemu". Saya baru saja mengganti namanya menjadi " kernel-ranchu" dan berhasil ...

jptsetung
sumber
4
Dalam kasus saya itu sebaliknya
urnenfeld
15

Saya memiliki masalah yang sama. Dalam kasus saya ternyata saya telah menginstal versi SDK lain di samping versi yang disediakan oleh Android Studio. Mengubah variabel lingkungan ANDROID_SDK_ROOT saya ke nilai asli memperbaikinya untuk saya.

nerdinand
sumber
1
Penting untuk dicatat bahwa ini adalah jawaban yang sama validnya dengan jawaban teratas dalam kasus di mana SDK sebelumnya dipasang sebelum Android Studio. Bugnya adalah bahwa Android Studio harus memperhatikan bahwa ANDROID_SDK_ROOT sudah disetel ke lokasi alternatif dan memperingatkan pengguna saat menginstal.
Core
Inti benar. Saya beralih dari Eclipse ke Android Studio hari ini dan inilah yang memperbaiki masalah bagi saya.
Pikamander2
11

Inilah kisah saya. Di bawah 'Tindakan' pada manajer AVD, saya melihat detail untuk AVD yang tidak berfungsi. Bergulir ke bawah, saya menemukan garis:

image.sysdir.1: add-ons\addon-google_apis-google-16\images\armeabi-v7a\

Saya kemudian menavigasi ke file ini di:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

Saya menemukan tidak ada file kernel. Namun, saya menemukan file kernel di:

C:\Users\XXXX\AppData\Local\Android\sdk\system-images\android-16\default\armeabi-v7a

Jadi saya menyalinnya dan menempel kembali ke:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

AVD kemudian bekerja.

CKP78
sumber
Terima kasih, ini menyelesaikannya! Saya pikir ini harus menjadi bug atau sth karena itu adalah perilaku yang sangat aneh
Hugo
7

Buka AVD Manager dalam mode Administrator Pilih VM dan klik edit, klik OK Mulai VM.

Catatan editor : Menurut mode administrator, maksudnya Klik kanan> Jalankan sebagai administrator pada platform windows.

pengguna3313044
sumber
Apa / di mana 'Mode Administrator'?
ericpeters0n
Tidak dapat menemukan VM, untuk Mac OS
Frank Fang
4

Jika Anda tahu file kernel terinstal di mesin Anda, maka masalahnya adalah mendapatkan emulator.exe untuk menemukannya.

Perbaikan saya didasarkan pada posting oleh user2789389. Saya bisa meluncurkan AVD dari AVD Manager, tetapi tidak dari baris perintah. Jadi, menggunakan AVD Manager, saya memilih AVD yang ingin saya jalankan dan mengklik "Detail". Itu menunjukkan saya jalan ke file definisi AVD. Di dalam folder dengan nama yang sama, di sebelah file .avd ini, saya menemukan file config.ini. Dalam ini, saya menemukan baris berikut:

image.sysdir.1=system-images\android-19\default\armeabi-v7a\

Saya mencari di folder C: \ Users \ XXXX \ android-sdks \ system-images \ android-19, dan menemukan bahwa jalur image.sysdir.1 tidak valid. Saya harus menghapus sub folder "default", sehingga mengubahnya menjadi sebagai berikut:

image.sysdir.1=system-images\android-19\armeabi-v7a\

Saya menyimpan ini dan mencoba lagi untuk meluncurkan AVD. Itu memperbaiki masalah!

Terima kasih
sumber
Ini tidak memperbaikinya. Dalam kasus saya, saya memiliki gambar sytem di subfolder default.
Neon Warge
Anda tidak harus memilih saya karena Anda memiliki masalah yang berbeda! Itu tidak membuat jawaban saya salah.
BuvinJ
Apakah Anda memilih setiap posting lain di sini juga, karena mereka tidak menyelesaikan masalah Anda?
BuvinJ
Ini memperbaiki masalah bagi saya, saya sedang berjalan di Mac dan jalurnya menunjuk ke image.sysdir.1 = add-ons / addon-google_apis-google-16 / images / armeabi-v7a, berubah menjadi sistem-gambar / android -16 / default / armeabi-v7a memecahkan masalah ini
Felipe
3

Pastikan Anda juga telah mengkonfigurasi perangkat yang ditiru dengan benar. Android Studio dapat datang dengan satu yang muncul di daftar perangkat yang ditiru tetapi itu tidak diatur untuk bekerja dengan versi SDK yang Anda gunakan.

Coba buat perangkat yang ditiru baru di AVD Manager (Tools-> Android> AVD Manager) dan pilih itu sebagai target.

kmantel
sumber
Mencoba menyusuri jalan ini, beri tahu saya bahwa HAXM tidak benar-benar diinstal, meskipun sudah ditunjukkan. Saya diminta untuk menginstal Intel HAXM.
Lodlaiden
2

Saya menginstal Android SDK manager dan Android SDK yestoday, dan saya mendapatkan kesalahan ini juga ketika saya mencoba menjalankan emulator Android segera. Tapi, sekarang kesalahan ini hilang, saya pikir me-restart sistem Anda ketika SDK telah diinstal dapat menyelesaikan masalah ini.

Jack Hu
sumber
2

Pikiran cerdas tunggal muncul pada saya setelah seharian perbaikan / membangun kembali / peningkatan SDK / NDK & JDK. Vars lingkungan perlu diperiksa, karena perbaikan untuk file kernel AVD 'GalaxyS3 saya yang hilang adalah untuk memperluas referensi sistem-gambar ke absolut.

image.sysdir.1 = C: \ Android \ sdk \ system-images \ android-19 \ armeabi-v7a \

Menambahkan "C: .... sdk \" ke entri 'image.sysdir.1 =' di 'workspace'.android \ avd \ GalaxyS3.avd \ config.ini menyelesaikan masalah (untuk saat ini).

pengguna2789389
sumber
2

Saya memperbarui SDK android saya ke versi terbaru (API 19). Ketika saya mencoba menjalankan emulator dengan phonegap 3, build berhasil tetapi menjalankan masalah yang sama.

Di manajer AVD ada perangkat yang ada, namun parameternya tidak diketahui. Tentunya ini terjadi karena saya menghapus versi SDK lama (API 17) yang mengembalikan kesalahan kedua ketika mencoba untuk menghapus perangkat. Dengan pesan: "perangkat sudah berjalan"

Untuk mengatasi masalah ini, saya pergi ke lokasi AVD di ~ / .android / avd / dan menghapus secara manual direktori device.avd dan file device.ini. Akhirnya, di manajer perangkat saya membuat AVD baru yang disediakan oleh API terbaru.

Ini memungkinkan phonegap untuk membangun dan menjalankan emulator dengan sukses

saya harap ini membantu

Selamat siang

snaphuman
sumber
2

Mengikuti jawaban yang diterima oleh ChrLipp menggunakan Android Studio 1.2.2 di Ubuntu 14.04:

  • Instal paket "ARM EABI v7a System Image" dari Android SDK manager.
  • Hapus Perangkat Virtual yang tidak berfungsi.
  • Tambahkan perangkat baru dengan Application Binary Interface (ABI) sebagai armeabi-v7a.
  • Boot ke perangkat baru.

Ini berhasil untuk saya. Coba reboot sistem Anda jika itu tidak berhasil untuk Anda.

manyu
sumber
2

Lihat jawaban saya untuk lingkungan Android Studio , Mac dan "PANIC: Program mesin emulator yang hilang untuk CPU 'arm'." .

Untuk mengatasi masalah ini, Anda perlu menentukan -kerneljalur secara manual. yaitu

$ ~/Library/Android/sdk/emulator/emulator  @Galaxy_Nexus_Jelly_Bean_API_16 -kernel ~/Library/Android/sdk/system-images/android-16/default/armeabi-v7a/kernel-qemu

Ingatlah untuk mengubah nama emulator menjadi nama emulator Galaxy_Nexus_Jelly_Bean_API_16Anda sendiri.

Perintah di bawah ini untuk memeriksa emulator yang tersedia untuk baris perintah.

$ ~/Library/Android/sdk/emulator/emulator -list-avds

Dan juga, pastikan bahwa jalur emulator Anda benar, yaitu jalur yang terletak di ~/Library/Android/sdk/emulator/.

Shizhen
sumber
1

Saya mencoba apa yang disarankan ChrLipp, tapi itu bukan masalah, karena gambar sudah diinstal. Apa yang saya lakukan adalah menjalankan:

android avd

untuk memulai emulator secara manual. Lalu saya menghentikan emulator, dan membentuk titik itu pada

cca emulate android

aplikasi mulai berfungsi, tanpa kesalahan "missing a kernel file".

Marc Rochkind
sumber
1

Saya memperbaiki masalah ini hanya dengan menambahkan variabel Lingkungan ANDROID_SDK_ROOT, dalam kasus saya ini terletak di C: \ Users \ fera \ AppData \ Local \ Android \ sdk

fera
sumber
1

Dalam kasus saya sendiri, saya memiliki beberapa kesalahan yang sebagian besar adalah tentang ANDROID_SDK_ROOT yang salah dikonfigurasi , pada akhirnya, satu hal yang sepertinya memperbaiki semuanya.

Ikuti proses berikut:

Setelah Membuat Perangkat Emulator baru di AVD, buka menu Tindakan dan klik panah yang menunjuk ke bawah seperti yang ditunjukkan di bawah ini.

masukkan deskripsi gambar di sini

Klik pada Show on Disk

Edit Config.ini

Cari image.sysdir.1

seharusnya memiliki nilai seperti ini: ** image.sysdir.1 = system-images \ android-28 \ google_apis_playstore \ x86 **

Nilai Anda sendiri mungkin berbeda

Sekarang, perbaiki jalur Android Sdk untuk membuat jalur lengkap.

image.sysdir.1 = ** C: \ androidsdk ** sistem-gambar \ android-28 \ google_apis_playstore \ x86 \

Jika Anda perhatikan, jalur sdk android yang ditunjukkan di atas berbeda dari sdk android standar yang normal, saya harus memindahkannya ke C: / androidsdk untuk menghindari masalah NDK karena HOME PENGGUNA utama saya di PC saya memiliki ruang putih yang mungkin tidak didukung oleh NDK.

CATATAN: Memindahkan direktori SDK dari direktori default biasanya merupakan penyebab kesalahan yang diberikan oleh emulator AVD ini, terutama terkait dengan jalur yang rusak dan salah konfigurasi. Perbaikan yang saya berikan di atas adalah perbaikan cepat, Anda mungkin harus melakukannya setiap kali Anda membuat perangkat baru di AVD Emulator.

Perbaikan ini juga harus bekerja ketika bekerja pada CMD dengan cordova.

Akintunde
sumber
0

Hanya ingin membagikan pengalaman saya tentang masalah ini. Berkonsultasi dengan setiap jawaban di sini, itu tidak cocok dengan situasi saya. Memiliki gambar sistem untuk Android API 22 menyebabkan kesalahan ini dan yang aneh adalah bahwa semua variabel lingkungan menunjuk ke direktori yang benar. Itu tidak masuk akal.

@BuvinJ menjawab telah menjelaskan masalah ini. Saya memang memeriksa path yang dijelaskan pada jawabannya dan ya salinan gambar sistem saya berada di bawah subfolder default ketika saya melihat pada direktori pengguna (pada Windows).

Yang aneh adalah, ada juga folder android-SDK di ANDROID_SDK_ROOT jadi saya pikir mungkin Eclipse mencari di sana. Menggali subfolder saya tahu bahwa direktori tersebut terlihat seperti ini:

android-sdk-windows\system-images\android-22\google_apis\armeabi-v7a

Direktori ini berada di ANDROID_SDK_ROOT. Ada juga satu lagi yang berada di direktori pengguna pengguna / XXXX / android-sdk /.

Eclipse mengharapkannya di sini:

android-sdk-windows\system-images\android-22\default\armeabi-v7a

Baru saja mengubah direktori dan berfungsi sekarang.

Neon Warge
sumber
0

Perbarui perintah berikut dalam command prompt di windows:

i) pembaruan android sdk --no-ui --all // Ini memperbarui paket SDK Anda dan dibutuhkan 3 menit. ii) pembaruan android sdk --no-ui --filter platform-tools, tools // Ini memperbarui alat platform dan paket-paketnya. iii) pembaruan android sdk --no-ui --all --filter extra-android-m2repository // Mereka yang bekerja dengan proyek maven memperbarui ini untuk mendukung perpustakaan desain dukungan terbaru yang akan mencakup maven android maven Repository tambahan.

1) Dalam command prompt ia meminta Anda untuk Y / N. Klik pada Y kemudian dilanjutkan dengan instalasi. 2) Ini memperbarui semua file Kernel-qemu dan perintah qt5.dll. sehingga Emulator berfungsi dengan baik tanpa masalah.

pengguna12654796
sumber
-1

Bagi saya Memperbarui Alat SDK memperbaiki kesalahan.

Cuplikan layar kesalahan dan perbarui progres

Fazal Arya
sumber
-1

Saya memecahkan ini dengan memperbarui SDK Tools dan Platform-tools di Android SDK Manager ke versi terbaru.

Alexander Andrade
sumber