Setelah mengetik cordova run android
terminal, saya mendapatkan kesalahan ini:
Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!
Ini terjadi setelah mengekspor:
export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'
Sebelum mengekspor saya mendapat:
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
Adakah ide yang salah? Saya yakin ini adalah root SDK jadi mengapa saya mendapatkan jalur sistem AVD rusak?
1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/usr/local/share/android-sdk]!
Saat saya memeriksa jalur itu->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk
. Jadi, emulator crash meskipun jalurnya benar.Jawaban:
Mungkin ada beberapa masalah berbeda ketika Anda memindahkan AVD atau SDK Anda ke direktori lain, atau mengganti SDK lama dengan yang baru, atau entah bagaimana membuat SDK rusak.
Di bawah ini saya akan menjelaskan semua masalah yang mungkin saya tahu, dan akan memberi Anda beberapa cara untuk menyelesaikannya.
Struktur SDK tidak lengkap / rusak
2 kesalahan ini terjadi jika emulator tidak dapat menemukan SDK, atau SDK rusak.
Jadi, pertama-tama saya sarankan untuk menghapus
ANDROID_SDK_ROOT
variabel sama sekali. Ini hanya diperlukan ketika emulator terletak di luar direktori SDK. Tetapi secara umum, emulator Anda tetap berada di dalam dir SDK. Dan dalam hal ini ia harus mendeteksi lokasi SDK secara otomatis . Jika tidak, maka SDK Anda mungkin memiliki nilai file salah. Silakan lakukan hal berikut:Periksa direktori SDK memiliki 4 direktori setidaknya ini:
emulator
,platforms
,platform-tools
,system-images
. Ini sangat penting! Direktori ini harus ada. Jika beberapa dari mereka tidak ada, maka buat saja direktori kosong.Pergi ke
<user_home>/.android/avd/<avd_name>
dan bukaconfig.ini
. Temukanimage.sysdir.1
properti. Itu menunjuk pada direktori, di dalam direktori SDK, yang berisi gambar sistem yang sebenarnya. Pastikan direktori ini ada dan berisi file sepertibuild.prop
,,system.img
dll. Jika tidak, maka Anda harus membuka SDK Manager dan mengunduh gambar sistem yang diperlukan AVD Anda (lihat di bawah).Jika semuanya sudah diatur dengan benar, ketika kesalahan tentang ini
ANDROID_SDK_ROOT
harus hilang. Jika tidak, maka sekarang Anda dapat mencoba mengaturANDROID_SDK_ROOT
variabel.Paket yang diperlukan dan HAXM tidak diinstal
Masalah berikutnya yang mungkin Anda hadapi adalah bahwa emulator mulai diluncurkan, tetapi menutup atau segera berhenti. Itu mungkin berarti Anda tidak menginstal semua paket yang diperlukan.
Kemungkinan kesalahan lain adalah:
Jadi, untuk berhasil meluncurkan AVD apa pun, Anda harus yakin bahwa setidaknya paket-paket ini diinstal:
Dan seperti yang saya sebutkan sebelumnya Anda harus menginstal gambar sistem AVD Anda gunakan, misalnya
system-images;android-25;google_apis;x86
Saya juga merekomendasikan untuk menginstal HAXM pada sistem Anda secara manual.
File Qcow2 merujuk pada gambar dasar yang salah / tidak ada
Masalah terakhir yang akan saya sebutkan terjadi ketika Anda mencoba untuk memindahkan AVD atau SDK dari satu komputer atau direktori ke yang lain. Dalam hal ini Anda mungkin mendapatkan kesalahan seperti itu:
Ada 2 cara untuk memperbaikinya:
Jika Anda tidak peduli dengan data yang terdapat dalam AVD, hapus saja semua
qcow2
file dari direktori AVD (mis. Dari<user_home>/.android/avd/<avd_name>
). Dalam hal ini Anda akan mendapatkan versi Android yang bersih, seperti setelah hard reset.Jika data pada emulator penting bagi Anda, maka buka semua
qcow2
file satu per satu menggunakan editor HEX (Saya lebih suka HxD ), temukan jalurimg
file dasar , dan ubah ke yang benar dalamOverwrite
mode (untuk mempertahankan ukuran file). Kemudian pilih jalur dan dapatkan panjangnya dalam hex (mis2F
.).2F
mewakili garis miring ASCII/
. Masukkan ke dalam posisi13
:PS: Tidak yakin, tapi mungkin ada beberapa utiliti seperti qemu-img yang memungkinkan untuk mengatur gambar dasar yang berbeda. Bagi saya lebih mudah mengedit biner secara manual.
Sekarang Anda mungkin dapat berhasil meluncurkan Perangkat Virtual Android Anda. Saya berharap begitu :)
sumber
hw.cpu.arch
di config.initools/bin/sdkmanager "platform-tools"
. Sungguh menyakitkan menemukan apa yang salah karena pesan kesalahan bodoh ini ("PANIC: Tidak dapat menemukan jalur sistem AVD. Silakan tentukan ANDROID_SDK_ROOT") yang tidak jelas mengatakan apa masalahnya ...Di Mac: Saya telah menginstal
android-sdk
menggunakanbrew
serta Android Studio. Entah bagaimana, memiliki 2 instalasi menyebabkan masalah ini. Ketika saya mencopot instalasi minuman saya dari sdk menggunakanbrew cask uninstall android-sdk
dan menambahkan vars berikut ke env saya. Itu berhasil.sumber
android-sdk
selama instalasi NativeScript. Emulator menyala langsung dari Android Studio sekarang, Tapi tidak melalui NativeScript (tns menjalankan android)Ini akan menyelesaikan masalah Anda di macOS:
sumber
Menghapus Kesalahan Saat Menggunakan Android SDK Homebrew sebagai SDK Default
Seperti @EFreak saya menginstal android-SDK dengan homebrew (manajer paket untuk Mac). Saya perlu melakukan di bawah ini untuk memperbaiki kesalahan, karena saya mengikuti tutorial asli dan mengalami kesalahan. Jika Anda ingin saya berniat untuk menggunakan versi brew di atas versi android-SDK gunakan jawaban ini (ini akan memungkinkan Anda untuk menggunakan
tns run android
api natif script ), dan jika Anda ingin android studio default Android-SDK ikuti jawaban @ EFreak.Mengkonfigurasi Android Studio untuk menggunakan Android SDK Homebrew
Pada dasarnya Anda hanya perlu mengubah lokasi Android SDK Anda di studio Android. Pertama buka proyek di studio android. Kemudian buka Manajer SDK dengan mengklik tombol ini.
Selanjutnya ketika preferensi default untuk manajer SDK android muncul, Anda perlu mengklik edit di sebelah lokasi SDK android.
Menemukan Lokasi Android SDK Homebrew
Selanjutnya Anda harus benar-benar memperbarui lokasi SDK pada layar pengaturan komponen SDK
brew
Android-SDK saya terletak di sini/usr/local/share/android-sdk
. Anda dapat menemukan di mana milik Anda diinstal dengan menjalankanbrew cask info android-sdk
kemudian di dekat bagian bawah output yang seharusnya tertulis:Nilai dari
export
ANDROID_SDK_ROOT
variabel ed (yang ada di sini/usr/local/share/android-sdk
) adalah lokasi home-brew dari sdk android.Kemudian Anda perlu mengklik tombol Lokasi Android SDK (diberi label 1 di gambar) dan menempel di lokasi Android SDK Homebrew.
Kemudian selesaikan saja wizard dengan menginstal paket apa pun. Saya perlu menghapus dan membuat ulang emulator perangkat saya pada langkah ini, tetapi tampaknya bekerja dengan baik setelah itu.
Mengatur Variabel Lingkungan Android SDK ke Point ke Android SDK Homebrew
Anda juga mungkin ingin memastikan jika Anda pergi rute Homebrew yang memiliki skrip pengaturan profil Anda
ANDROID_HOME
danANDROID_SDK_ROOT
variabel lingkungan diatur ke lokasi Homebrew Anda dari android sdk jika tidak di atas tidak akan berfungsi. Ini bisa diubah dari lokasi Homebrew jika Anda menginstal Homebrew sebelum menginstal Android Studio seperti yang ditunjukkan dalam jawaban ini oleh @ Jamie Armor . Anda dapat memeriksa variabel lingkungan untuk android sdk diatur dengan benar dengan menjalankanecho $ANDROID_HOME
danecho $ANDROID_SDK_ROOT
dan memverifikasi bahwa keduanya menunjukkan lokasi Homebrew dari android sdk.Jika Anda perlu mengubah nilai-nilai ANDROID_HOME dan ANDROID_SDK_ROOT Anda dapat melakukan ini di pengaturan profil Anda di Mac Anda yang kemungkinan akan berada dalam sesuatu seperti
~/.bash_profile
, "~ / .bashrc", atau "~ / .profile" dan didefinisikan seperti itu:Anda perlu mengubah nilai kedua ekspor ke nilai yang tepat dari lokasi SDK android Homebrew lalu menyimpan file. Untuk memverifikasi bahwa nilai yang benar telah ditulis, Anda harus terlebih dahulu menutup dan membuka terminal Anda yang harus menjalankan kembali file dan mereset variabel lingkungan atau Anda dapat sumber file dengan menjalankan di
source <profile file name>
mana file profil yang Anda edit dan simpan. Anda kemudian dapat menjalankan kembaliecho $ANDROID_HOME
danecho $ANDROID_SDK_ROOT
untuk memverifikasi bahwa mereka memiliki lokasi sdk android Homebrew.sumber
tns run android.
Ini bekerja untuk saya sebelum saya menjalankan skrip pengaturan asli. Skripnya memecahkan banyak hal -_-Ini berarti bahwa jalur Anda ke alat tidak benar. Ini terlihat seperti pada mac menggunakan minuman. Pikirkan versinya.
Dalam kasus Anda, sepertinya Anda harus menjalankan ini:
sumber
ANDROID_SDK_ROOT
diatur.bash_profile
. Bahkanecho $ANDROID_SDK_ROOT
memberikan jalur yang benar:/usr/local/Cellar/android-sdk/24.4.1_1
Saya menggunakan macOS dengan HomeBrew.Saya memiliki masalah yang sama pada Windows10 saya,
Mengatasi masalah saya dengan mengikuti langkah-langkah di bawah ini.
buka Android Studio
- Alat
- SDK Manager
- salin Lokasi
Android SDK Lokasi Android SDK
mengatur variabel lingkungan sistem
ANDROID_HOME dan ANDROID_SDK_ROOT
variabel lingkungan sistem
sumber
Saya memiliki masalah yang sama setelah pembaruan emulator. Masalah teratasi setelah menambahkan variabel ANDROID_AVD_HOME
Penting: Karakter Non-ASCII tidak dapat digunakan di jalur. Terakhir instal ulang perangkat virtual atau timpa jalur perangkat secara manual dalam file Configuration.ini file yang berisi jalur lama dengan karakter non-ascii.
sumber
Saya menjalankan Android Studio pada Windows 10, mengatur ANDROID_HOME dan ANDROID_SDK_ROOT pada Variabel Lingkungan, dan masih mendapatkan kesalahan.
Ternyata, saya lupa mengunduh perangkat.
Setelah mengunduh "Gambar sistem hilang", semuanya berfungsi dengan baik.
sumber
Dalam kasus saya ini rusak karena ANDROID_HOME dan ANDROID_SDK_ROOT berbeda, jadi setelah saya mengatur ANDROID_HOME sama dengan ANDROID_SDK_ROOT maka mulai berfungsi.
sumber
Oleg Cherrs menjawab membawaku ke sebuah solusi. Seperti yang dia sebutkan
Saya menemukan file emulator * .ini yang sesuai di direktori avd. Di sana saya memodifikasi entri "image.sysdir.1". Saya mengganti relatif dengan jalur absolut (tambahkan ANDROID_SDK_ROOT di depan). Setelah itu emulator mulai dari baris perintah seperti yang diharapkan.
sumber
C:\Users\edkol\.android\avd
tetapi saya tidak melihat config.ini - apakah saya perlu menambahkan satu? jika demikian, di mana saya bisa mendapatkannya?Direktori Platfoms tidak ada di / usr / local / share / android-SDK .
Saya membuat direktori kosong bernama platform yang memperbaiki masalah ini.
sumber
ok saya bisa menjalankan android dari cordova, saya mengubah ANDROID_HOME menjadi,
sumber
Anda harus menambahkan AVD Emulator. Pergi ke lokasi ini:
mulai AVD Manager dan di tab kedua (Definisi Perangkat) klik pada tombol "createAVD".
sumber
Saya di Windows 10 dan masalahnya adalah direktori AVD di komputer saya memiliki karakter non-ASCII di dalamnya.
Inilah yang harus dilakukan:
Jalankan cmd sebagai administrator
Jalankan perintah berikut:
(Ini akan membuat tautan simbolis antara jalur dengan karakter non-ASCII dan yang baru)
Dalam variabel lingkungan tambahkan
ANDROID_AVD_HOME
variabel dengan nilaiC:\\.android\avd
.sumber
Baru saja mengalami masalah itu hari ini dan berhasil menyelesaikannya.
Emulator: [140735565005632]: GALAT: android / android-emu / android / qt / qt_setup.cpp: 28: Pustaka Qt tidak ditemukan di / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib
15:08 Emulator: Tidak dapat meluncurkan '/ Users / your_user_name / Library / Android / SDK / emulator / qemu / darwin-x86_64 / qemu-system-x86_64': Tidak ada file atau direktori seperti itu
Solusinya cukup sederhana. Cukup instal Android emulator melalui Android Studio => tools => Android => SDK manager => SDK tools => pilih Android Emulator => Terapkan
Saya menggunakan MacBook Pro di macOS High Sierra, dan saya yakin mesin Anda tidak ada hubungannya dengan masalah ini. Emulator tidak terinstal dengan jelas saat menjalankan manajer instalasi Android Studio untuk pertama kalinya, setidaknya untuk saya, dengan Android Studio 3.0.1
Pastikan juga jalur Anda telah ditentukan di .bashrc atau .zshrc Anda seperti ini:
sumber
Periksa apakah gambar sistem yang digunakan oleh AVD Anda telah diunduh di bawah
$ANDROID_SDK_ROOT/system-images/
sumber
Saya memiliki masalah yang sama yang setelah menyetel variabel path berikut ini lenyap. Catatan AVD Home path berbeda dari tiga lainnya.
sumber
NativeScript
Bagi siapa pun yang kesulitan meluncurkan emulator android melalui NativeScript, kemungkinan env vars ANDROID_HOME dan ANDROID_SDK_ROOT telah diganti.
Bagaimana saya berhasil membuat masalah untuk diri saya sendiri adalah dengan menginstal Android Studio untuk menghasilkan emulator yang berbeda. Saya melakukan ini setelah saya menginstal SDK Android melalui minuman rumahan.
Jadi jika selama instalasi NativeScript, Anda memilih untuk menginstal Android SDK melalui HomeBrew, NativeScript akan mengatur di atas sebagai berikut:
Selanjutnya menginstal Android Studio akan menimpa nilai-nilai ini sebagai:
Jadi secara alami ada konflik dengan studio Android dan instalasi NativeScript / Brew dari sdk android. Menghapus satu atau yang lain dan / atau memverifikasi bahwa variabel env berisi jalur yang benar harus membuat emulator Anda diluncurkan.
sumber
Setelah beberapa waktu mencoba "solusi" Google lainnya, satu - satunya hal yang bekerja untuk saya, setelah menetapkan variabel lingkungan ANDROID_SDK_ROOT pada Windows, dan juga menambahkan dan menghapus variabel ANDROID_HOME dan ANDROID_SDK_HOME, adalah jawaban Xerox23 - mengedit konfigurasi AVD ke hardcode. nilai ANDROID_SDK_ROOT ke properti image.sysdir.1.
Ini menggunakan Android Studio 3.0.1 dan emulator 26.1.4, meluncurkan perangkat virtual dari AVD Manager dari dalam Android Studio.
sumber
Untuk mesin windows: Setelah mencoba banyak set path, hapus path dan lain-lain. Yang akhirnya berhasil adalah menemukan folder
C:\Users\johndoe\.android
dan menghapusnya. setelah itu Anda dapat makan siang Android Studio Anda, itu akan meminta Anda untuk mengunduh dan menginstal AVD baru dan itu akan menimpa dan membuat folder dan file baru. Ini menyelesaikan masalah.sumber
Untuk mengatasi masalah ini, saya harus menginstal paket dengan gambar sistem yang hilang menggunakan SDK Manager.exe (dalam "C: \ Program Files (x86) \ Android \ android-sdk"). Saya perhatikan bahwa gambar sistem yang saya butuhkan ("android-23") tidak ada di "C: \ Program Files (x86) \ Android \ android-android-sdk \ system-images".
Setelah menjalankan SDK Manager.exe dan menginstal paket yang sesuai saya bisa menjalankan emulator di Android Studio.
Inilah solusi yang bekerja untuk saya:
https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html
sumber
Ikuti langkah-langkah di bawah ini untuk menyelesaikan masalah Anda
1.
2.
3.
sumber
Saya memecahkan masalah ini dengan menghapus file
/usr/local/share/android-sdk
, karena file ini dibuat ketika saya mencoba dengan homebrew.itu cukup ....
sumber
Buka studio android Anda lalu fokus pada bilah alat.
Alat goto> manajer SDK kemudian
Penampilan & Perilaku> Pengaturan Sistem> Android SDK
Sekarang di tab salin Lokasi Android SDK dari sini Lokasi Android SDK
lalu goto variabel lingkungan Anda dan kemudian setel path bersama dengan variabel-variabel ini
Variabel Lingkungan
sumber
sumber
ANDROID_SDK_HOME adalah pointer ke root file ".android" Anda, yang secara default dibuat di "C: \ Users \ name \ .android", dan BUKAN ke root folder SDK Anda. Lalu: - Tetapkan ANDROID_SDK_HOME ke folder root SDK tidak akan berfungsi. - Jika path file ".android" Anda memiliki karakter non-ASCII, itu tidak akan berfungsi. - Folder AVD harus berada di dalam file ".android" Anda saat ini.
Jadi jawabannya adalah ini:
Bersulang.
sumber
中国 的 小 伙伴 注意! 原因 是 avd 目录 不能 包含 中文 Saya mencoba semua metode ini di atas, dan saya masih mendapatkan kesalahan, dan saya bertanya-tanya apakah itu karena direktori avd saya berisi charactor Cina. jadi saya mengubah direktori avd default dengan langkah-langkah berikut, dan itu berhasil. 1. buat folder yang jalurnya tidak mengandung karakter non-ascii 2. salin atau potong folder avd default di
$HOME/.android
bawah folder yang baru saja Anda buat 3. tambahkan PATHADNDROID_SDK_HOME
, dan studio Android akan menemukan avd di bawah $ ADNDROID_SDK_HOME / .android / avdakhirnya berhasil! :>
sumber
Perbaikan jika pengguna Anda mengandung karakter non-ASCII
Untuk orang yang mendapat "
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT
", alasannya mungkin karena pengguna Anda di pengguna berisi karakter non-ASCII .Oleh karena itu baik folder SDK dan .android dengan folder AVD perlu dipindahkan ke folder lain.
Mengubah jalur SDK:
Buka Android Studio , buka untuk mengonfigurasi, dan pilih SDK Manager. Ubah Lokasi SDK Android saat ini menjadi misalnya "C: \ Android \ Sdk" (Atau di tempat lain, hanya saja tidak di folder pengguna yang mengandung karakter non-ASCII) .
Setelah ini, tambahkan variabel sistem berikut:
Mengubah jalur AVD:
Untuk mengubah di mana folder AVD ditempatkan (Biasanya ditempatkan di "
C:\Users\<user name>\.android\avd
"), Anda perlu mengubah di mana folder.android
ditempatkan. Pertama tutup Android Studio , lalu tambahkan variabel sistemANDROID_SDK_HOME
dengan jalur ke tempat baru yang Anda inginkan.android
, misalnyaC:\Android_SDK_HOME
seperti yang digunakan dalam contoh lain:Setelah Anda menambahkan ini, jalankan Android Studio . Kemudian tutup lagi. Sekarang folder bernama
.android
seharusnya muncul.Hal berikutnya dan terakhir yang perlu Anda lakukan adalah mengatur
ANDROID_AVD_HOME
variabel sistem. Dalam hal ini yang akan masukC:\Android_SDK_HOME\.android\avd
Saya harap ini menyelesaikan masalah untuk beberapa orang. :)
sumber
Saya mengalami masalah ini sejak saya melakukan React Native sejak awal. Google telah mencabut alat commandline dan bersikeras di Android studio. Solusi bagi saya adalah menghapus alat commandline
rm -rf /usr/local/Cellar/android-sdk
rm /usr/local/bin/android
buka AS instal SDK v6 seperti yang diperintahkan https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio
buat AVD baru dan akan diluncurkan tanpa kesalahan
sumber
Kesalahan sebenarnya bervariasi. Sangat membantu untuk menjalankan
./emulator with -verbose
opsi, karena akan menunjukkan kesalahan yang sebenarnya.sumber