Memulai emulator dari command line

Android SDK menyertakan emulator perangkat Android - perangkat virtual yang berjalan di komputer Anda. Android Emulator memungkinkan Anda mengembangkan dan menguji aplikasi Android tanpa menggunakan perangkat fisik.

Halaman ini menjelaskan fitur-fitur command line yang dapat Anda gunakan dengan Android Emulator. Untuk informasi tentang menggunakan UI Android Emulator, lihat Menjalankan Aplikasi pada Android Emulator.

Memulai emulator

Gunakan perintah emulator untuk memulai emulator, sebagai alternatif dari menjalankan project atau memulainya melalui AVD Manager.

Berikut ini sintaks command line dasar untuk memulai perangkat virtual dari prompt terminal:

emulator -avd avd_name [ {-option [value]} … ]
    

Atau

emulator @avd_name [ {-option [value]} … ]
    

Misalnya, jika Anda meluncurkan emulator dari dalam Android Studio yang berjalan di Mac, command line defaultnya akan serupa dengan berikut ini:

/Users/janedoe/Library/Android/sdk/emulator/emulator -avd Nexus_5X_API_23 -netdelay none -netspeed full

Anda dapat menentukan opsi startup saat memulai emulator, tetapi Anda tidak bisa melakukannya nanti.

Untuk daftar nama AVD, masukkan perintah berikut:

emulator -list-avds

Saat Anda menggunakan opsi ini, daftar nama AVD akan ditampilkan dari direktori utama Android Anda. Perhatikan bahwa Anda dapat mengganti direktori utama default ini dengan menetapkan variabel lingkungan ANDROID_SDK_HOME: root direktori khusus pengguna tempat semua konfigurasi dan konten AVD disimpan. Anda dapat menetapkan variabel lingkungan di jendela terminal sebelum meluncurkan perangkat virtual, atau Anda dapat menetapkannya melalui setelan pengguna di sistem operasi; misalnya, dalam file .bashrc pada Linux.

Untuk menghentikan Android Emulator, cukup tutup jendela emulator.

Menginstal aplikasi

Selain menginstal aplikasi melalui Android Studio atau UI emulator, Anda dapat menginstal aplikasi di perangkat virtual menggunakan utilitas adb.

Untuk menginstal aplikasi menggunakan adb, lalu menjalankan dan menguji aplikasi tersebut, ikuti langkah-langkah umum berikut:

  1. Buat dan kemas aplikasi Anda menjadi APK seperti dijelaskan dalam Membuat dan Menjalankan Aplikasi.
  2. Mulai emulator dari command line seperti dijelaskan di bagian sebelumnya, menggunakan opsi startup mana pun yang diperlukan.
  3. Instal aplikasi Anda menggunakan adb.
  4. Jalankan dan uji aplikasi Anda di emulator.
    Selagi emulator berjalan, Anda juga dapat menggunakan Emulator Console untuk mengeluarkan perintah sesuai kebutuhan.
  5. Perangkat virtual menyimpan aplikasi dan data statusnya di seluruh proses mulai ulang, di partisi disk data pengguna (userdata-qemu.img). Untuk menghapus data ini, mulai emulator dengan opsi -wipe-data atau hapus data di AVD Manager. Untuk informasi selengkapnya tentang partisi data pengguna dan penyimpanan lainnya, lihat bagian berikut.
    Untuk meng-uninstal aplikasi, lakukan seperti yang Anda lakukan di perangkat Android.

Catatan: Utilitas adb melihat perangkat virtual sebagai perangkat fisik sebenarnya. Karena alasan ini, Anda mungkin harus menggunakan flag -d dengan beberapa perintah adb umum, seperti install. Flag -d memungkinkan Anda menentukan mana dari beberapa perangkat yang terhubung yang akan digunakan sebagai target suatu perintah. Jika Anda tidak menentukan -d, emulator akan menargetkan perangkat pertama dalam daftar.

Memahami direktori dan file default

Emulator menggunakan file terkait, di mana sistem AVD dan direktori data adalah yang paling penting. Ini membantu memahami struktur direktori emulator dan file saat menentukan opsi command line. Meskipun begitu, biasanya Anda tidak perlu mengubah direktori atau file default.

Android Emulator menggunakan hypervisor Quick Emulator (QEMU). Versi awal Android Emulator menggunakan QEMU 1 (goldfish), dan versi yang lebih baru menggunakan QEMU 2 (ranchu).

Direktori sistem AVD

Direktori sistem berisi image sistem Android yang digunakan emulator untuk menyimulasikan sistem operasi. Direktori sistem ini menyimpan file hanya baca khusus platform yang dibagikan oleh semua AVD dari jenis yang sama, termasuk level API, arsitektur CPU, dan varian Android. Lokasi defaultnya adalah sebagai berikut:

  • Mac OS X dan Linux - ~/Library/Android/sdk/system-images/android-apiLevel/variant/arch/
  • Microsoft Windows XP - C:\Documents and Settings\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\
  • Windows Vista - C:\Users\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\

Dalam hal ini:

  • apiLevel adalah level API numerik, atau huruf untuk rilis pratinjau. Misalnya, android-M menunjukkan pratinjau Android Marshmallow. Pada versi rilis, nilai ini menjadi API level 23, yang ditunjukkan oleh android-23.
  • variant adalah nama yang terkait dengan fitur spesifik yang diterapkan oleh image sistem; misalnya, google_apis atau android-wear.
  • arch adalah arsitektur CPU target; misalnya, x86.

Gunakan opsi -sysdir untuk menentukan direktori sistem berbeda untuk AVD.

Emulator membaca file-file berikut dari direktori sistem.

File Deskripsi Opsi untuk Menentukan File Berbeda
kernel-qemu atau kernel-ranchu Image kernel biner untuk AVD. kernel-ranchu adalah emulator QEMU 2, versi terbaru. -kernel
system.img Versi hanya baca awal dari image sistem; khususnya, partisi yang berisi library sistem dan data yang terkait dengan level dan varian API. -system
ramdisk.img Image partisi booting. Ini adalah subset dari system.img yang mula-mula dimuat oleh kernel sebelum image sistem dipasang. Biasanya hanya berisi beberapa biner dan skrip inisialisasi. -ramdisk
userdata.img Versi awal partisi data, yang muncul sebagai data/ dalam sistem teremulasi dan berisi semua data yang dapat ditulis untuk AVD. Emulator menggunakan file ini saat Anda membuat AVD baru atau menggunakan opsi ‑wipe-data. Untuk informasi selengkapnya, lihat deskripsi file userdata-qemu.img di bagian berikutnya. -initdata
-init-data

Direktori data AVD

Direktori data AVD, disebut juga direktori konten, berlaku khusus untuk satu instance AVD dan berisi semua data yang dapat dimodifikasi untuk AVD itu.

Lokasi defaultnya adalah sebagai berikut, di mana name adalah nama AVD:

  • Mac OS X dan Linux - ~/.android/avd/name.avd/
  • Microsoft Windows XP - C:\Documents and Settings\user\.android\name.avd\
  • Windows Vista, dan yang lebih tinggi - C:\Users\user\.android\name.avd\

Gunakan opsi -datadir untuk menentukan direktori data AVD berbeda.

Tabel berikut mencantumkan file paling penting yang ada dalam direktori ini.

File Deskripsi Opsi untuk Menentukan File Berbeda
userdata-qemu.img

Isi partisi data, yang terlihat sebagai data/ dalam sistem teremulasi. Saat Anda membuat AVD baru, atau saat Anda menggunakan opsi -wipe-data untuk mereset AVD ke setelan default pabrik, emulator akan menyalin file userdata.img dalam direktori sistem untuk membuat file ini.

Setiap instance perangkat virtual menggunakan image data pengguna yang dapat ditulis untuk menyimpan data khusus pengguna dan khusus sesi. Misalnya, instance perangkat virtual menggunakan image untuk menyimpan data aplikasi terinstal, setelan, database, dan file untuk pengguna unik. Setiap pengguna memiliki direktori ANDROID_SDK_HOME berbeda yang menyimpan direktori data untuk AVD yang dibuat oleh pengguna tersebut; setiap AVD memiliki satu file userdata-qemu.img.

-data
cache.img Image partisi cache, yang terlihat sebagai cache/ dalam sistem teremulasi. File ini kosong saat Anda membuat AVD atau menggunakan opsi -wipe-data untuk pertama kalinya. File ini menyimpan download sementara dan diisi oleh pengelola download atau terkadang oleh sistem; misalnya, browser menggunakannya untuk meng-cache halaman web dan image yang sudah didownload selagi emulator sedang berjalan. Saat Anda mematikan perangkat virtual, file tersebut dihapus. Anda dapat menyimpan file ini menggunakan opsi -cache. -cache
sdcard.img

(Opsional) Image partisi kartu SD yang memungkinkan Anda menyimulasikan kartu SD pada perangkat virtual. Anda dapat membuat file image kartu SD di AVD Manager atau menggunakan fitur mksdcard. File ini disimpan di komputer pengembangan dan harus dimuat saat startup.

Saat menentukan AVD di AVD Manager, Anda memiliki pilihan untuk menggunakan file kartu SD yang dikelola secara otomatis, atau file yang Anda buat dengan fitur mksdcard. Anda dapat melihat file sdcard.img yang terkait dengan AVD di AVD Manager. Opsi -sdcard mengganti file kartu SD yang ditentukan di AVD.

Anda dapat menelusuri, mengirim file ke, serta menyalin dan menghapus file dari kartu SD yang disimulasikan menggunakan emulator UI atau utilitas adb saat perangkat virtual sedang berjalan. Anda tidak dapat menghapus kartu SD yang disimulasikan dari perangkat virtual yang sedang berjalan.

Untuk menyalin file ke file kartu SD sebelum memuatnya, Anda dapat memasang file image sebagai perangkat loop, lalu menyalin file itu. Atau gunakan utilitas seperti paket mtools untuk menyalin file langsung ke image.

Emulator memperlakukan file tersebut sebagai kumpulan byte sehingga format kartu SD tidak berpengaruh.

Perhatikan bahwa opsi -wipe-data tidak memengaruhi file ini. Jika ingin menghapus file ini, Anda perlu menghapusnya lalu membuatnya kembali menggunakan AVD Manager atau fitur mksdcard. Mengubah ukuran file juga akan menghapus file dan membuat file baru.

-sdcard

Membuat daftar direktori dan file yang digunakan oleh emulator

Anda dapat mengetahui lokasi file dengan dua cara:

  • Saat Anda memulai emulator dari command line, gunakan opsi -verbose atau -debug init, dan lihat outputnya.
  • Gunakan perintah emulator-help-option untuk membuat daftar direktori default. Contoh:
        emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

Opsi startup command line

Bagian ini mencantumkan opsi yang dapat Anda berikan pada command line saat memulai emulator.

Catatan: Emulator Android terus dikembangkan untuk meningkatkan keandalannya. Untuk status laporan masalah mengenai berbagai opsi command line, dan untuk melaporkan bug, lihat Android Issue Tracker.

Opsi yang biasa digunakan

Tabel berikut mencantumkan opsi startup command line yang mungkin sering Anda gunakan.

Opsi Command Line Deskripsi
Quick Boot
-no-snapshot-load Melakukan cold boot, dan menyimpan status emulator saat keluar.
-no-snapshot-save Melakukan quick boot jika memungkinkan, tetapi tidak menyimpan status emulator saat keluar.
-no-snapshot Menonaktifkan sepenuhnya fitur Quick Boot—status emulator tidak dimuat ataupun disimpan.
Hardware Perangkat
-camera-back mode
-camera-front mode
Menetapkan mode emulasi untuk kamera belakang atau depan. Menggantikan semua setelan kamera di AVD.

mode dapat berupa salah satu nilai berikut:

  • emulated - Emulator menyimulasikan kamera dalam software.
  • webcamn - Emulator menggunakan webcam yang terhubung ke komputer pengembangan, yang ditentukan oleh angka. Untuk melihat daftar webcam, gunakan opsi -webcam-list; misalnya, webcam0.
  • none - Menonaktifkan kamera di perangkat virtual.

Contoh:


emulator @Nexus_5X_API_23 -camera-back webcam0
-webcam-list Membuat daftar webcam pada komputer pengembangan yang tersedia untuk diemulasikan. Misalnya:

emulator @Nexus_5X_API_23 -webcam-list
            List of web cameras connected to the computer:
            Camera 'webcam0' is connected to device 'webcam0'
            on channel 0 using pixel format 'UYVY'

Dalam contoh ini, webcam0 pertama adalah nama yang Anda gunakan pada command line. webcam0 kedua adalah nama yang digunakan oleh OS di komputer pengembangan. Nama kedua bervariasi bergantung pada OS.

Mulai SDK Tools 25.2.4, nama AVD harus ada, meskipun mungkin tidak diwajibkan pada versi mendatang.

Disk Image dan Memori
-memory size

Menentukan ukuran RAM fisik dari 128 hingga 4096 MB. Contoh:


emulator @Nexus_5X_API_23 -memory 2048

Nilai ini mengganti setelan AVD.

-sdcard filepath Menentukan nama file dan jalur ke file image partisi kartu SD. Contoh:


emulator @Nexus_5X_API_23 -sdcard C:/sd/sdcard.img

Jika file tidak ditemukan, emulator tetap diluncurkan, tetapi tanpa kartu SD; perintah akan menampilkan peringatan No SD Card Image.

Jika Anda tidak menentukan opsi ini, defaultnya adalah sdcard.img di direktori data (kecuali jika AVD menentukan sesuatu yang berbeda). Untuk detail tentang kartu SD teremulasi, lihat direktori data AVD.

-wipe-data Menghapus data pengguna dan menyalin data dari file data awal. Opsi ini menghapus data untuk perangkat virtual dan mengembalikannya ke status yang sama dengan saat pertama kali ditentukan. Semua aplikasi yang diinstal dan setelan akan dihapus. Contoh:


emulator @Nexus_5X_API_23 -wipe-data

Secara default, file data pengguna adalah userdata-qemu.img dan file data awal adalah userdata.img, keduanya berada di direktori data. Opsi -wipe-data tidak memengaruhi file sdcard.img. Untuk informasi selengkapnya tentang data pengguna, lihat Memahami direktori dan file default.

Debug
-debug tags Mengaktifkan atau menonaktifkan tampilan pesan debug untuk satu atau beberapa tag. Pisahkan banyak tag dengan spasi, koma, atau tanda kolom. Contoh:


$ emulator @Nexus_5X_API_23 -debug init,metrics

Untuk menonaktifkan tag, tempatkan tanda hubung (-) di depannya; misalnya, opsi berikut menampilkan semua pesan debug, kecuali pesan yang terkait dengan soket dan metrik jaringan:

-debug all,-socket,-metrics

Untuk daftar tag dan deskripsi, gunakan opsi -help-debug-tags. Contoh:


emulator -help-debug-tags

Anda dapat menentukan tag debug default di variabel lingkungan ANDROID_VERBOSE. Tentukan tag yang ingin Anda gunakan dalam daftar yang dipisahkan koma. Berikut ini contoh yang menunjukkan debug yang ditentukan dengan tag socket dan gles:


ANDROID_VERBOSE=socket,gles

Ini setara dengan menggunakan:

-debug-socket -debug-gles

-debug-tag
-debug-no-tag
Mengaktifkan jenis pesan debug tertentu. Gunakan bentuk no untuk menonaktifkan jenis pesan debug. Contoh:


emulator @Nexus_5X_API_23 -debug-all -debug-no-metrics

Untuk melihat daftar tag, gunakan perintah emulator -help-debug-tags.

-logcat logtags Mengaktifkan tampilan pesan logcat untuk satu atau beberapa tag, dan menuliskannya ke jendela terminal. Misalnya, perintah berikut ini memungkinkan pesan error dari semua komponen:


emulator @Nexus_5X_API_23 -logcat *:e

logtags menggunakan format yang sama dengan perintah adb logcat logtags (masukkan adb logcat -help untuk informasi selengkapnya). Ini adalah daftar filter log yang dipisahkan spasi atau koma dalam format componentName:logLevel. componentName dapat berupa tanda bintang karakter pengganti (*) atau nama komponen, seperti ActivityManager, SystemServer, InputManager, WindowManager, dan sebagainya. logLevel adalah salah satu dari nilai berikut:

  • v - verbose
  • d - debug
  • i - informative
  • w - warning log level
  • e - error
  • s - silent

Contoh berikut menampilkan pesan komponen GSM di tingkat log informative:


emulator @Nexus_5X_API_23 -logcat '*:s GSM:i'

Jika Anda tidak menyediakan opsi -logcat pada command line, emulator akan mencari variabel lingkungan ANDROID_LOG_TAGS. Jika ANDROID_LOG_TAGS ditentukan dengan nilai logtags yang valid dan tidak kosong, emulator menggunakan nilainya untuk memungkinkan output logcat ke terminal secara default. Anda juga dapat mengarahkan pesan log yang sama, atau lainnya, ke terminal melalui adb. Untuk informasi selengkapnya tentang logcat dan adb, lihat Fitur Command Line logcat, Menulis dan Melihat Log dengan Logcat, class Log, dan Referensi perintah adb.

-show-kernel Menampilkan pesan debug kernel di jendela terminal. Contoh:


emulator @Nexus_5X_API_23 -show-kernel

Salah satu kegunaan opsi ini adalah untuk memeriksa apakah proses booting berjalan dengan benar.

-verbose Mencetak pesan inisialisasi emulator ke jendela terminal. Contoh:


emulator @Nexus_5X_API_23 -verbose

Ini menampilkan file dan setelan mana yang sebenarnya dipilih saat memulai perangkat virtual yang ditentukan dalam AVD. Opsi ini sama dengan menentukan -debug-init.

Jaringan
-dns-server servers Menggunakan server DNS yang ditetapkan. servers adalah daftar yang dipisahkan koma yang terdiri hingga empat nama server DNS atau alamat IP. Contoh:

emulator @Nexus_5X_API_23 -dns-server 192.0.2.0,
192.0.2.255

Secara default, emulator mencoba mendeteksi server DNS yang Anda gunakan dan menyiapkan alias khusus di jaringan firewall teremulasi untuk memungkinkan sistem Android terhubung langsung ke server DNS tersebut. Gunakan opsi -dns-server untuk menentukan daftar server DNS yang berbeda.

-http-proxy proxy Membuat semua koneksi TCP melalui proxy HTTP/HTTPS yang ditetapkan. Jika emulator Anda harus mengakses internet melalui server proxy, Anda dapat menggunakan opsi ini atau variabel lingkungan http_proxy untuk menyiapkan pengalihan yang sesuai. Contoh:


emulator @Nexus_5X_API_23 -http-proxy myserver:1981

proxy dapat berupa salah satu dari berikut ini:
http://server:port
http://username:password@server:port

Awalan http:// dapat dihilangkan.

Jika opsi ini tidak disediakan, emulator akan mencari variabel lingkungan http_proxy dan otomatis menggunakan nilai apa pun yang cocok dengan format proxy. Untuk informasi selengkapnya, lihat Menggunakan emulator dengan proxy.

-netdelay delay

Tetapkan emulasi latensi jaringan ke salah satu nilai delay berikut dalam milidetik:

  • gsm - GSM/CSD (min 150, maks 550).
  • hscsd - HSCSD (min 80, maks 400).
  • gprs - GPRS (min 35, maks 200).
  • edge - EDGE/EGPRS (min 80, maks 400).
  • umts - UMTS/3G (min 35, maks 200).
  • hsdpa - HSDPA (min 0, maks 0).
  • lte - LTE (min 0, maks 0).
  • evdo - EVDO (min 0, maks 0).
  • none - Tanpa latensi, default (min 0, maks 0).
  • num - Tentukan latensi persis.
  • min:max - Tentukan latensi minimum dan maksimum satu per satu.

Contoh:


emulator @Nexus_5X_API_23 -netdelay gsm

Emulator mendukung throttling jaringan (membatasi bandwidth maksimum jaringan, disebut juga shaping jaringan) serta latensi koneksi yang lebih tinggi. Anda dapat menentukannya melalui konfigurasi skin, atau dengan opsi ‑netspeed dan -netdelay.

-netfast Menonaktifkan throttling jaringan. Contoh:


emulator @Nexus_5X_API_23 -netfast

Opsi ini sama dengan menetapkan -netspeed full -netdelay none. Nilai tersebut adalah default untuk opsi ini.

-netspeed speed

Menyetel emulasi kecepatan jaringan. Tetapkan kecepatan upload dan download maksimum jaringan dengan salah satu nilai speed berikut dalam kbps:

  • gsm - GSM/CSD (upload: 14,4, download: 14,4).
  • hscsd - HSCSD (upload: 14,4, download: 57,6).
  • gprs - GPRS (upload: 28,8, download: 57,6).
  • edge - EDGE/EGPRS (upload: 473,6, download: 473,6).
  • umts - UMTS/3G (upload: 384,0, download: 384,0).
  • hsdpa - HSDPA (upload 5.760,0, download: 13.980,0).
  • lte - LTE (upload: 58.000, download: 173.000).
  • evdo - EVDO (upload: 75.000, download: 280.000).
  • full - Tanpa batas, default (upload: 0,0, download: 0,0).
  • num - Menentukan kecepatan upload dan download.
  • up:down - Menentukan kecepatan upload dan download satu per satu.

Contoh:


emulator @Nexus_5X_API_23 -netspeed edge

Emulator mendukung throttling jaringan (membatasi bandwidth maksimum jaringan, disebut juga shaping jaringan) serta latensi koneksi yang lebih tinggi. Anda dapat menentukannya melalui konfigurasi skin, atau dengan opsi ‑netspeed dan -netdelay.

-port port Menyetel nomor port TCP yang digunakan untuk konsol dan adb. Contoh:


emulator @Nexus_5X_API_23 -port 5556

Nilai defaultnya adalah 5554 untuk instance perangkat virtual pertama yang berjalan pada mesin Anda. Perangkat virtual biasanya menempati sepasang port yang berdekatan: port konsol dan port adb. Konsol perangkat virtual pertama yang berjalan pada mesin tertentu menggunakan port konsol 5554 dan port adb 5555. Instance berikutnya menggunakan nomor port yang meningkat dua angka - misalnya, 5556/5557, 5558/5559, dan seterusnya. Rentangnya adalah 5554 hingga 5682, yang memungkinkan 64 perangkat virtual serentak.

Penetapan port sering kali sama dengan menetapkan -ports port,{port + 1}. {port + 1} harus bebas dan akan disediakan untuk adb. Jika salah satu port konsol atau adb sudah digunakan, emulator tidak akan dimulai. Opsi ‑port melaporkan port dan nomor seri mana yang digunakan perangkat virtual, dan memberikan peringatan jika ada masalah dengan nilai yang Anda berikan. Pada UI emulator, Anda dapat melihat nomor port konsol di judul jendela, dan Anda dapat melihat nomor port adb dengan memilih Help > About.

Perhatikan bahwa jika nilai port tidak genap dan berada dalam rentang 5554 hingga 5584, perangkat virtual akan dimulai tetapi tidak terlihat saat Anda menggunakan perintah adb devices jika server adb dimulai setelah emulator. Karena alasan ini, kami merekomendasikan penggunaan nomor port konsol genap.

-ports
console-port,adb-port
Menetapkan port TCP yang digunakan untuk konsol dan adb. Contoh:


emulator @Nexus_5X_API_23 -ports 5556,5559

Rentang port yang valid adalah 5554 hingga 5682, yang memungkinkan 64 perangkat virtual serentak. Opsi -ports melaporkan port dan nomor seri mana yang digunakan oleh instance emulator, dan memperingatkan jika ada masalah dengan nilai yang Anda berikan.

Sebaiknya gunakan opsi -port, jika memungkinkan. Opsi -ports tersedia untuk konfigurasi jaringan yang memerlukan setelan khusus.

Untuk informasi selengkapnya tentang menyetel port konsol dan adb, lihat opsi -port.

-tcpdump filepath Merekam paket jaringan dan menyimpannya ke dalam file. Contoh:


emulator @Nexus_5X_API_23 -tcpdump /path/dumpfile.cap

Gunakan opsi ini untuk mulai merekam semua paket jaringan yang dikirim melalui LAN Ethernet virtual emulator. Setelah itu, Anda dapat menggunakan fitur seperti Wireshark untuk menganalisis traffic.

Perhatikan bahwa opsi ini merekam semua paket Ethernet, dan tidak terbatas pada koneksi TCP.

Sistem
-accel mode Mengonfigurasi akselerasi VM emulator. Contoh:


emulator @Nexus_5X_API_23 -accel auto

Emulasi yang dipercepat hanya berfungsi untuk image sistem x86 dan x86_64. Pada Linux, ini bergantung pada KVM. Pada Windows dan Mac, ini bergantung pada driver Intel CPU dan Intel HAXM. Opsi ini diabaikan jika Anda tidak mengemulasi perangkat x86 atau x86_64.

Nilai yang valid untuk mode adalah:

  • auto - Otomatis menentukan apakah akselerasi didukung dan menggunakannya jika memungkinkan (default).
  • off - Menonaktifkan akselerasi sepenuhnya, yang berguna terutama untuk proses debug.
  • on - Memaksa akselerasi. Jika KVM atau HAXM tidak diinstal atau tidak dapat digunakan, emulator tidak akan dimulai dan akan mencetak pesan error.

Untuk informasi selengkapnya, lihat Mengonfigurasi Akselerasi Hardware.

-accel-check Memeriksa apakah hypervisor yang diperlukan untuk akselerasi VM emulator sudah diinstal (HAXM atau KVM). Contoh:


emulator -accel-check

Untuk informasi selengkapnya, lihat Menentukan apakah HAXM atau KVM diinstal.

-engine engine

Menentukan mesin emulator:

  • auto - Otomatis memilih mesin (default).
  • classic - Menggunakan mesin QEMU 1 yang lebih lama.
  • qemu2 - Menggunakan mesin QEMU 2 yang lebih baru.

Contoh:


emulator @Nexus_5X_API_23 -engine auto

Deteksi otomatis akan memilih nilai yang memberikan performa terbaik saat mengemulasikan AVD tertentu. Anda harus menggunakan opsi -engine untuk keperluan menjalankan debug dan perbandingan saja.

-gpu mode Memilih mode emulasi GPU. Contoh:


emulator @Nexus_5X_API_23 -gpu swiftshader_indirect

Untuk informasi selengkapnya, lihat Mengonfigurasi akselerasi grafis pada command line.

-no-accel Menonaktifkan akselerasi VM emulator saat menggunakan image sistem x86 atau x86_64. Berguna untuk menjalankan debug saja dan sama dengan menentukan -accel off. Contoh:


emulator @Nexus_5X_API_23 -no-accel

Untuk informasi selengkapnya, lihat Mengonfigurasi Akselerasi Hardware.

-nojni
-no-jni
Menonaktifkan pemeriksaan Java Native Interface (JNI) yang diperluas pada runtime Android Dalvik atau ART. Contoh:


emulator @Nexus_5X_API_23 -nojni

Saat Anda memulai perangkat virtual, pemeriksaan JNI yang diperluas diaktifkan secara default. Untuk informasi selengkapnya, lihat Tips JNI.

-selinux {disabled|permissive} Menetapkan modul keamanan Security-Enhanced Linux (SELinux) ke mode nonaktif atau permisif pada sistem operasi Linux. Contoh:


me-linux$ emulator @Nexus_5X_API_23 -selinux permissive

Secara default, SELinux berada dalam mode pemberlakuan, artinya kebijakan keamanan diberlakukan. Mode permissive memuat kebijakan SELinux, tetapi tidak memberlakukannya; mode ini hanya mencatat pelanggaran kebijakan. Mode disabled menonaktifkan dukungan kernel untuk SELinux.

-timezone timezone

Menetapkan zona waktu untuk perangkat virtual ke timezone, bukan zona waktu host. Contoh:


emulator @Nexus_5X_API_23 -timezone Europe/Paris

Secara default, emulator menggunakan zona waktu komputer pengembangan Anda. Gunakan opsi ini untuk menentukan zona waktu berbeda atau jika deteksi otomatis tidak berfungsi dengan benar. Nilai timezone harus dalam format zoneinfo, yaitu area/location atau area/subarea/location. Contoh:

  • America/Los_Angeles
  • Europe/Paris
  • America/Argentina/Buenos_Aires

Zona waktu yang ditentukan harus ada dalam database zoneinfo.

-version Menampilkan nomor versi emulator. Contoh:


emulator @Nexus_5X_API_23 -version

Atau


emulator -version
UI
-no-boot-anim Menonaktifkan animasi boot selama startup emulator untuk mempercepat proses booting. Contoh:


emulator @Nexus_5X_API_23 -no-boot-anim

Pada komputer yang lebih lambat, opsi ini dapat mempercepat proses booting secara signifikan.

-screen mode Menetapkan mode layar sentuh teremulasi. Contoh:


emulator @Nexus_5X_API_23 -screen no-touch

mode dapat berupa salah satu nilai berikut:

  • touch - Mengemulasi layar sentuh (standar).
  • multi-touch - Mengemulasi layar multi-sentuh.
  • no-touch - Menonaktifkan emulasi layar sentuh dan multi-sentuh.

Opsi lanjutan

Opsi startup command line berikut tersedia, tetapi tidak umum digunakan oleh kebanyakan developer aplikasi.

Dalam deskripsi, direktori kerja adalah direktori saat ini di terminal tempat Anda memasukkan perintah. Untuk informasi tentang direktori sistem AVD dan direktori data, dan file yang tersimpan di dalamnya, lihat Memahami direktori dan file default.

Beberapa opsi berikut sesuai untuk developer aplikasi eksternal, dan sebagian di antaranya digunakan terutama oleh developer platform. Developer aplikasi membuat aplikasi Android dan menjalankannya pada AVD tertentu. Developer platform bekerja pada sistem Android dan menjalankannya di dalam emulator tanpa AVD yang dibuat sebelumnya; mereka ini anggota tim Android internal, bukan developer aplikasi eksternal.

Opsi Lanjutan Deskripsi Singkat
-bootchart timeout

Mengaktifkan bootcharting, dengan waktu tunggu dalam detik. Beberapa image sistem Android memiliki sistem init yang dimodifikasi yang mengintegrasikan fasilitas bootcharting. Anda dapat meneruskan waktu tunggu bootcharting ke sistem dengan opsi ini. Jika sistem init Anda tidak memiliki bootcharting yang diaktifkan, opsi ini tidak akan melakukan apa pun. Opsi ini berguna terutama untuk developer platform, bukan developer aplikasi eksternal.

Contoh:


emulator @Nexus_5X_API_23 -bootchart 120
-cache filepath

Menentukan file image partisi cache. Berikan nama file, dan jalur absolut atau jalur yang terkait dengan direktori data, untuk menyiapkan file cache persisten. Jika file ini tidak ada, emulator akan membuatnya sebagai file kosong. Jika Anda tidak menggunakan opsi ini, defaultnya adalah file sementara dengan nama cache.img. Untuk informasi selengkapnya, lihat direktori data AVD.

Contoh:


    emulator @Nexus_5X_API_23 -cache
       ~/.android/avd/Nexus_5X_API_23.avd/cache_persistent.img
    
-cache-size size

Menentukan ukuran partisi cache dalam MB. Jika Anda tidak menentukan opsi ini, standarnya adalah 66 MB. Biasanya, sebagian besar developer aplikasi tidak memerlukan opsi ini, kecuali jika mereka perlu mendownload file yang sangat besar, yang lebih besar daripada cache default. Untuk informasi selengkapnya tentang file cache, lihat direktori data AVD.

Contoh:


emulator @Nexus_5X_API_23 -cache-size 1000
-data filepath

Menentukan file image partisi data pengguna. Berikan nama file, dan jalur absolut, atau jalur yang terkait dengan direktori kerja untuk menyiapkan file data pengguna persisten. Jika file ini tidak ada, emulator membuat image dari file userdata.img default, menyimpannya dalam nama file yang Anda tentukan, dan tetap menggunakan data pengguna saat shutdown. Jika Anda tidak menggunakan opsi ini, defaultnya adalah file dengan nama userdata-qemu.img. Untuk informasi selengkapnya tentang file data pengguna, lihat Direktori data AVD.

Contoh:


emulator @Nexus_5X_API_23 -data
       ~/.android/avd/Nexus_5X_API_23.avd/userdata-test.img
-datadir dir

Menentukan direktori data menggunakan jalur absolut. Untuk informasi selengkapnya, lihat Direktori data AVD.

Contoh:


emulator @Nexus_5X_API_23 -datadir
       ~/.android/avd/Nexus_5X_API_23.avd/mytest
-force-32bit

Menggunakan emulator 32 bit pada platform 64 bit. Kadang-kadang, opsi ini berguna untuk pengujian atau proses debug. Misalnya, terdapat kasus di mana emulator terkadang tidak berjalan pada Windows versi 64 bit, tetapi berjalan pada versi 32 bit; opsi ini berguna untuk melakukan perbandingan guna men-debug masalah. Berikut ini sebuah contoh:


emulator @Nexus_5X_API_23 -force-32bit
-help-disk-images

Mendapatkan bantuan tentang disk image. Memberikan informasi yang relevan bagi developer aplikasi dan platform. Contoh:


emulator -help-disk-images
-help-char-devices

Mendapatkan bantuan tentang spesifikasi device karakter. Parameter device diperlukan oleh beberapa opsi emulator. Contoh:


emulator -help-char-devices
-help-sdk-images

Mendapatkan bantuan tentang disk image yang relevan bagi developer aplikasi. Menjelaskan lokasi file image untuk AVD yang dibuat dengan fitur SDK. Contoh:


emulator -help-sdk-images
-help-build-images

Mendapatkan bantuan tentang disk image yang relevan bagi developer platform. Contoh:


emulator -help-build-images
-initdata filepath
-init-data filepath

Menentukan versi awal partisi data. Setelah menghapus total data pengguna, emulator menyalin isi file yang ditentukan ke data pengguna (secara default, file userdata-qemu.img), bukannya menggunakan file userdata.img default sebagai versi awal. Tentukan nama file, dan jalur absolut atau jalur yang terkait dengan direktori kerja. Jika Anda tidak menentukan jalur, file akan ditempatkan di direktori sistem. Untuk informasi selengkapnya, lihat Direktori sistem AVD.

Contoh:


emulator @Nexus_5X_API_23 -initdata
       ~/Library/Android/sdk/system-images/android-23/
       google_apis/x86/userdata-test.img
-kernel filepath

Menggunakan kernel emulasi tertentu. Jika Anda tidak menentukan jalur, emulator akan mencarinya di direktori sistem. Jika Anda tidak menentukan opsi ini, defaultnya adalah kernel-ranchu. Untuk informasi selengkapnya, lihat Direktori sistem AVD. Gunakan opsi ‑show‑kernel untuk melihat pesan debug kernel.

Contoh:


    emulator @Nexus_5X_API_23 -kernel
       ~/Library/Android/sdk/system-images/android-23/
       google_apis/x86/kernel-test.img -show-kernel
-noaudio
-no-audio

Menonaktifkan dukungan audio untuk perangkat virtual ini. Beberapa komputer Linux dan Windows memiliki driver audio bermasalah yang menyebabkan gejala berbeda-beda, seperti mencegah dimulainya emulator. Dalam hal ini, Anda dapat menggunakan opsi ini untuk mengatasi masalah tersebut. Atau, Anda dapat menggunakan variabel lingkungan QEMU_AUDIO_DRV untuk mengubah backend audio.

Contoh:


emulator @Nexus_5X_API_23 -noaudio
-nocache
-no-cache

Memulai emulator tanpa partisi cache. Jika Anda tidak menggunakan opsi ini, defaultnya adalah file sementara dengan nama cache.img. Opsi ini hanya untuk developer platform. Untuk informasi selengkapnya, lihat Direktori data AVD.

Contoh:


emulator @Nexus_5X_API_23 -nocache
-no-snapshot

Menghambat operasi pemuatan dan penyimpanan otomatis, yang menyebabkan emulator menjalankan rangkaian booting lengkap dan kehilangan statusnya saat ditutup. Opsi ini mengganti opsi -snapshot.

Contoh:


emulator @Nexus_5X_API_23 -no-snapshot
-no-snapshot-load

Mencegah emulator memuat status AVD dari penyimpanan snapshot. Menjalankan booting penuh.

Contoh:


emulator @Nexus_5X_API_23 -no-snapshot-load
-no-snapshot-save

Mencegah emulator menyimpan status AVD ke penyimpanan snapshot saat keluar, yang berarti semua perubahan akan hilang.

Contoh:


emulator @Nexus_5X_API_23 -no-snapshot-save
-no-snapshot-update-time

Tidak mencoba memperbaiki waktu jam AVD dengan segera begitu snapshot dipulihkan. Opsi ini dapat berguna selama pengujian karena menghindari lompatan waktu secara mendadak. Namun, pembaruan waktu tetap dikirimkan ke AVD setiap 15 detik.

Contoh:


emulator @Nexus_5X_API_23 -no-snapshot-update-time
-no-snapstorage

Memulai emulator tanpa memasang file untuk menyimpan atau memuat snapshot status, sehingga memaksa boot lengkap dan menonaktifkan fungsionalitas snapshot status. Opsi ini mengganti opsi -snapstorage dan -snapshot.

Contoh:


emulator @Nexus_5X_API_23 -no-snapstorage
-no-window

Menonaktifkan tampilan jendela grafis pada emulator. Opsi ini berguna saat menjalankan emulator pada server yang tidak memiliki tampilan. Anda masih dapat mengakses emulator melalui adb atau konsol. Contoh:


emulator @Nexus_5X_API_23 -no-window
-partition-size size

Menentukan ukuran partisi data sistem dalam MB. Contoh:


emulator @Nexus_5X_API_23 -partition-size 1024
-prop name=value

Menetapkan properti sistem Android di emulator saat melakukan booting. name harus berupa nama properti yang maksimal terdiri dari 32 karakter, tanpa spasi di dalamnya, sedangkan value harus berupa string yang maksimal terdiri dari 92 karakter. Anda dapat menentukan beberapa opsi ‑prop pada satu command line. Opsi ini dapat berguna untuk proses debug. Contoh:


    emulator @Nexus_5X_API_23 -prop status.battery.level_raw=80
       -prop ro.serialno=123456
    
-qemu args Meneruskan argumen ke software emulator QEMU. Perhatikan bahwa QEMU 1 dan QEMU 2 dapat menggunakan argumen berbeda. Jika menggunakan opsi ini, pastikan itu menjadi opsi terakhir yang ditentukan, karena semua opsi setelahnya akan ditafsirkan sebagai opsi spesifik QEMU. Ini adalah opsi lanjutan dan sebaiknya hanya digunakan oleh developer yang sangat memahami emulasi QEMU dan Android.
-qemu -h

Menampilkan bantuan -qemu. Contoh:


emulator -qemu -h
-ramdisk filepath

Menentukan gambar boot ramdisk. Tentukan nama file, dan jalur absolut atau jalur yang terkait dengan direktori kerja. Jika Anda tidak menggunakan opsi ini, defaultnya adalah file ramdisk.img di direktori sistem. Untuk informasi selengkapnya, lihat Direktori sistem AVD.

Contoh:


emulator @Nexus_5X_API_23 -ramdisk
       ~/Library/Android/sdk/system-images/android-23/
       google_apis/x86/ramdisk-test.img
-report-console socket

Melaporkan port konsol ke pihak ketiga jarak jauh sebelum memulai emulasi. Ini dapat berguna untuk skrip pengujian otomatis. socket harus menggunakan salah satu format ini:

  • tcp:port[,server][,max=seconds][,ipv6]
  • unix:port[,server][,max=seconds][,ipv6]

Untuk informasi selengkapnya, gunakan opsi -help-report-console seperti dijelaskan dalam Mendapatkan bantuan terperinci untuk opsi tertentu.

-shell

Membuat konsol root shell pada terminal saat ini. Ini berbeda dengan perintah adb shell dalam hal berikut:

  • Opsi ini membuat root shell yang memungkinkan Anda memodifikasi banyak bagian sistem.
  • Opsi ini berfungsi meskipun daemon adb dalam sistem teremulasi rusak.
  • Menekan Ctrl+C (⌘C) akan menghentikan emulator, bukan shell.

Contoh:


emulator @Nexus_5X_API_23 -shell
-snapshot name

Menentukan nama snapshot dalam file penyimpanan snapshot untuk operasi mulai dan simpan otomatis. Bukannya mengeksekusi rangkaian boot lengkap, emulator dapat melanjutkan eksekusi dari snapshot status yang lebih awal, yang biasanya jauh lebih cepat. Jika Anda menentukan opsi ini, emulator akan memuat snapshot untuk nama tersebut dari image snapshot dan menyimpannya kembali dengan nama yang sama saat keluar. Jika Anda tidak menentukan opsi ini, defaultnya adalah rangkaian boot lengkap. Jika snapshot yang ditentukan tidak ada, emulator akan menjalankan rangkaian boot lengkap, dan melakukan operasi simpan.

Lihat opsi -snapstorage untuk informasi tentang menentukan penyimpanan file snapshot dan file default.


    emulator @Nexus_5X_API_23 -snapshot snapshot2
    

Perlu diingat bahwa dalam proses pemuatan snapshot, semua konten sistem, data pengguna, dan image kartu SD akan ditimpa dengan konten yang tersimpan saat snapshot dibuat. Kecuali jika Anda menyimpan informasi ini dalam snapshot berbeda, perubahan apa pun sejak itu akan hilang.

Anda juga dapat membuat snapshot dari Emulator Console menggunakan perintah avd snapshot save name. Untuk informasi selengkapnya, lihat Mengirim Perintah Emulator Console ke Perangkat Virtual.

-snapshot-list

Menampilkan daftar snapshot yang tersedia. Opsi ini mencetak tabel snapshot yang tersimpan dalam file penyimpanan snapshot yang digunakan untuk memulai emulator, lalu keluar. Jika Anda juga menentukan -snapstorage file, perintah ini akan mencetak tabel snapshot yang tersimpan dalam file.

Contoh:


    emulator @Nexus_5X_API_23 -snapshot-list -snapstorage
       ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
    

Anda dapat menggunakan nilai kolom ID dan TAG dalam output sebagai argumen untuk opsi -snapshot.

-snapstorage filepath

Menentukan file repositori yang berisi semua snapshot status. Semua snapshot yang dibuat selama eksekusi akan disimpan dalam file ini, dan hanya snapshot dalam file ini yang dapat dipulihkan selama emulator berjalan. Jika opsi ini tidak ditentukan, defaultnya adalah snapshots.img di direktori data. Jika file yang ditentukan tidak ada, emulator akan dimulai, tetapi tidak mendukung operasi penyimpanan atau pemuatan snapshot status.

Contoh:


    emulator @Nexus_5X_API_23 -snapstorage
       ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
    
-sysdir dir

Menentukan direktori sistem menggunakan jalur absolut. Untuk informasi selengkapnya, lihat Direktori sistem AVD. Contoh:


emulator @Nexus_5X_API_23 -sysdir
       ~/Library/Android/sdk/system-images/android-23/
       google_apis/x86/test
-system filepath

Menentukan file sistem awal. Berikan nama file, dan jalur absolut atau jalur yang terkait dengan direktori kerja. Jika Anda tidak menggunakan opsi ini, defaultnya adalah file system.img di direktori sistem. Untuk informasi selengkapnya, lihat Direktori sistem AVD. Contoh:


emulator @Nexus_5X_API_23 -system
       ~/Library/Android/sdk/system-images/android-23/
       google_apis/x86/system-test.img
-use-system-libs

Pada Linux, gunakan sistem libstdc++, bukan versi yang dipaketkan dengan sistem emulator. Gunakan opsi ini hanya jika emulator tidak dapat dimulai secara normal, meskipun tidak akan selalu berhasil. Atau, tetapkan variabel lingkungan ANDROID_EMULATOR_USE_SYSTEM_LIBS ke 1.

Contoh:


me-linux$ emulator @Nexus_5X_API_23 -use-system-libs
-writable-system

Gunakan opsi ini untuk mendapatkan image sistem yang dapat ditulisi selama sesi emulasi. Untuk melakukannya:

  1. Mulai perangkat virtual dengan opsi -writable-system.
  2. Masukkan perintah adb remount dari terminal perintah untuk meminta emulator agar memasang ulang system/ sebagai baca/tulis (defaultnya dipasang sebagai hanya baca).

Perhatikan bahwa penggunaan flag ini akan menghasilkan salinan sementara image sistem yang bisa jadi berukuran sangat besar (beberapa ratus MB), tetapi akan dihapus saat emulator keluar.

Opsi yang tidak digunakan lagi

Opsi command line berikut tidak digunakan lagi:

  • -audio-in
  • -audio-out
  • -charmap
  • -code-profile
  • -cpu-delay
  • -dpi-device
  • -dynamic_skin
  • -enable-kvm
  • -gps
  • -image
  • -keyset
  • -help-keys
  • -help-keyset-file
  • -nand-limits
  • -noskin
  • -no-skin
  • -onion
  • -onion-alpha
  • -onion-rotation
  • -radio
  • -ranchu
  • -raw-keys
  • -scale
  • -shared-net-id
  • -shell-serial
  • -skin
  • -skindir
  • -trace
  • -useaudio

Mendapatkan bantuan tentang opsi command line

Bagian ini menjelaskan cara mendapatkan bantuan tentang opsi command line. Bagian berikut ini menyediakan informasi lebih mendalam tentang opsi command line emulator yang umum digunakan yang tersedia saat Anda memulai emulator.

Membuat daftar semua opsi emulator

Untuk mencetak daftar semua opsi emulator, termasuk deskripsi singkat, masukkan perintah ini:

emulator -help
    

Mendapatkan bantuan terperinci untuk opsi tertentu

Untuk mencetak bantuan untuk opsi startup tertentu, masukkan perintah ini:

emulator -help-option
    

Contoh:

emulator -help-netspeed
    

Bantuan ini lebih terperinci daripada deskripsi yang diberikan oleh opsi -help.

Mendapatkan bantuan terperinci untuk semua opsi

Untuk mendapatkan bantuan terperinci untuk semua opsi emulator, masukkan perintah ini:

emulator -help-all
    

Membuat daftar variabel lingkungan emulator

Untuk mendapatkan daftar variabel lingkungan emulator, masukkan perintah ini:

emulator -help-environment
    

Anda dapat menetapkan variabel lingkungan di jendela terminal sebelum meluncurkan perangkat virtual, atau Anda dapat menetapkannya melalui setelan pengguna di sistem operasi; misalnya, dalam file .bashrc pada Linux.

Membuat daftar tag debug

Untuk mencetak daftar tag untuk opsi -debug, masukkan perintah ini:

emulator -help-debug-tags
    

Opsi -debug memungkinkan Anda mengaktifkan atau menonaktifkan pesan debug dari komponen emulator tertentu, seperti yang ditentukan oleh tag.