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.
Tentu saja saya berasumsi bahwa Anda memiliki AVD yang dibuat, dan itu terletak di C:\Users\<user_name>\.android\avd
(Windows) atau ~/.android/avd
(Linux / MacOS).
Jika Anda pindah .android
ke tempat lain maka setel ANDROID_SDK_HOME
variabel lingkungan ke jalur dir induk yang berisi Anda .android
dan pastikan AVD Manager berhasil menemukan Perangkat Virtual Anda.
Periksa juga jalur masuk <user_home>/.android/avd/<avd_name>.ini
Struktur SDK tidak lengkap / rusak
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value
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 buka config.ini
. Temukan image.sysdir.1
properti. Itu menunjuk pada direktori, di dalam direktori SDK, yang berisi gambar sistem yang sebenarnya. Pastikan direktori ini ada dan berisi file seperti build.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 mengatur ANDROID_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:
Tidak dapat secara otomatis mendeteksi biner ADB. Beberapa fungsi emulator tidak akan berfungsi sampai jalur khusus ke ADB ditambahkan di halaman pengaturan yang diperluas.
Jadi, untuk berhasil meluncurkan AVD apa pun, Anda harus yakin bahwa setidaknya paket-paket ini diinstal:
emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)
Dan seperti yang saya sebutkan sebelumnya Anda harus menginstal gambar sistem AVD Anda gunakan, misalnya system-images;android-25;google_apis;x86
Perhatikan bahwa versi terbaru pada SDK tidak memiliki standalone SDK Manager.exe
. Alih-alih, Anda harus menggunakan Android Studio, atau tools\bin\sdkmanager.bat
(Linux / MacOS mungkin memiliki sh
file).
Untuk mendaftar semua paket yang tersedia, gunakan sdkmanager --list
atausdkmanager --list --verbose
Untuk menginstal paket gunakan sdkmanager <package1> <package2> ...
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:
qemu-system-i386.exe: -drive if = none, overlap-check = none, cache = tidak aman, indeks = 0, id = sistem, file = C:\Users\<old_user_name>\.android\avd\<avd_name>
.
avd \ system.img.qcow2, hanya baca: Tidak dapat membuka file dukungan: Tidak dapat membuka ' <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img
': Argumen tidak valid
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 jalur img
file dasar , dan ubah ke yang benar dalam Overwrite
mode (untuk mempertahankan ukuran file). Kemudian pilih jalur dan dapatkan panjangnya dalam hex (mis 2F
.). 2F
mewakili garis miring ASCII /
. Masukkan ke dalam posisi 13
:
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 :)