Google berkomitmen untuk mendorong terwujudnya keadilan rasial bagi komunitas Kulit Hitam. Lihat caranya.

Memulai emulator dari command line

Android SDK menyertakan emulator perangkat Android, yaitu sebuah 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 untuk menjalankan project Anda atau memulainya melalui AVD Manager.

Berikut adalah sintaksis 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. Perlu diketahui bahwa Anda dapat mengganti direktori utama default ini dengan menetapkan variabel lingkungan ANDROID_SDK_HOME: root direktori spesifik pengguna tempat semua konfigurasi dan konten AVD disimpan. Anda dapat menetapkan variabel lingkungan di jendela terminal sebelum meluncurkan perangkat virtual, atau menetapkannya melalui setelan pengguna di sistem operasi; misalnya, dalam file .bashrc di 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 paketkan aplikasi Anda menjadi APK seperti yang dijelaskan dalam Membuat dan Menjalankan Aplikasi Anda.
  2. Mulai emulator dari command line seperti yang dijelaskan di bagian sebelumnya, menggunakan opsi mulai 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 memberikan perintah sesuai kebutuhan.
  5. Perangkat virtual mempertahankan aplikasi dan data statusnya dalam partisi disk data pengguna meskipun perangkat dimulai ulang (userdata-qemu.img). Untuk menghapus data ini, mulai emulator dengan opsi -wipe-data atau hapus total data di AVD Manager, misalnya. Untuk informasi selengkapnya tentang partisi data pengguna dan penyimpanan lainnya, lihat bagian berikut.
    Untuk meng-uninstal aplikasi, lakukan seperti yang biasa Anda lakukan di perangkat Android.

Catatan: Utilitas adb menganggap perangkat virtual sebagai perangkat fisik sebenarnya. Dengan demikian, Anda mungkin harus menggunakan tanda -d dengan beberapa perintah adb umum, seperti install. Tanda -d memungkinkan Anda menentukan perangkat terhubung mana 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 API level numerik, atau huruf untuk rilis pratinjau. Misalnya, android-M menunjukkan pratinjau Android Marshmallow. Pada saat dirilis, API ini menjadi API level 23, yang ditetapkan oleh android-23.
  • variant adalah nama yang berkaitan dengan fitur spesifik yang diimplementasikan oleh image sistem; misalnya, google_apis atau android-wear.
  • arch adalah arsitektur CPU target; misalnya, x86.

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

Emulator membaca file-file berikut dari direktori sistem.

File Deskripsi Opsi untuk Menentukan File Lain
kernel-qemu atau kernel-ranchu Image kernel biner untuk AVD. kernel-ranchu adalah versi terbaru emulator QEMU 2. -kernel
system.img Versi awal image sistem yang bersifat hanya-baca; secara spesifik, partisi yang berisi library sistem dan data yang terkait dengan varian dan API level. -system
ramdisk.img Image partisi booting. Image ini adalah subset system.img yang awalnya dimuat oleh kernel sebelum image sistem dipasang. Biasanya hanya berisi beberapa biner dan skrip inisialisasi. -ramdisk
userdata.img Versi awal partisi data, yang ditampilkan sebagai data/ dalam sistem yang diemulasi 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 berikut. -initdata
-init-data

Direktori data AVD

Direktori data AVD, disebut juga direktori konten, spesifik untuk satu instance AVD dan berisi semua data yang dapat dimodifikasi untuk AVD tersebut.

Lokasi defaultnya adalah sebagai berikut, dengan name yang merupakan 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 yang berbeda.

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

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

Konten partisi data, yang ditampilkan sebagai data/ dalam sistem yang diemulasi. Saat Anda membuat AVD baru, atau saat menggunakan opsi -wipe-data untuk menyetel ulang AVD ke setelan default pabrik, emulator akan menyalin file userdata.img di direktori sistem untuk membuat file ini.

Setiap instance perangkat virtual menggunakan image data pengguna yang dapat ditulis untuk menyimpan data spesifik pengguna dan spesifik 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 ditampilkan sebagai cache/ dalam sistem yang diemulasi. File ini kosong saat Anda pertama kali membuat AVD atau menggunakan opsi -wipe-data. File ini menyimpan download sementara dan diisi oleh pengelola download atau terkadang oleh sistem; misalnya, browser menggunakannya untuk men-cache halaman web dan image yang sudah didownload selagi emulator sedang berjalan. Saat Anda mematikan perangkat virtual, file tersebut akan dihapus. Anda dapat mempertahankan file tersebut 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 dalam AVD Manager atau menggunakan alat mksdcard. File ini disimpan di komputer pengembangan dan harus dimuat saat proses memulai.

Saat menentukan AVD di AVD Manager, Anda boleh menggunakan file kartu SD yang dikelola secara otomatis, atau file yang Anda buat dengan alat mksdcard. Anda dapat melihat file sdcard.img yang terkait dengan AVD di AVD Manager. Opsi -sdcard akan menggantikan file kartu SD yang ditentukan dalam AVD.

Anda dapat menelusuri, mengirim file ke, serta menyalin dan menghapus file dari kartu SD yang disimulasikan menggunakan UI emulator 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-file tersebut. Atau gunakan utilitas seperti paket mtools untuk menyalin file secara langsung ke image.

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

Perlu diketahui bahwa opsi -wipe-data tidak akan memengaruhi file ini. Jika ingin mengosongkan file, Anda harus menghapus file lalu membuatnya lagi menggunakan AVD Manager atau alat 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 memulai emulator dari command line, gunakan opsi -verbose atau -debug init, dan lihat hasilnya.
  • Gunakan perintah emulator -help-option untuk mencantumkan 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: Android Emulator terus dikembangkan untuk meningkatkan keandalannya. Untuk melihat status tentang masalah yang dilaporkan terkait berbagai opsi command line, dan untuk melaporkan bug, lihat Pelacak Masalah Android.

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 fitur Quick Boot sepenuhnya. Status emulator tidak dimuat atau 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 Anda, 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, webcam0 yang pertama adalah nama yang Anda gunakan pada command line. webcam0 yang kedua adalah nama yang digunakan oleh OS pada komputer pengembangan. Nama kedua bervariasi berdasarkan 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 Tidak Ada Image Kartu SD.

Jika Anda tidak menentukan opsi ini, defaultnya adalah sdcard.img dalam direktori data (kecuali AVD menetapkan lainnya). Untuk detail tentang kartu SD yang diemulasi, 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, yang 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, tambahkan 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 melihat daftar tag dan deskripsi, gunakan opsi -help-debug-tags. Contoh:


emulator -help-debug-tags

Anda dapat menentukan tag debug default dalam variabel lingkungan ANDROID_VERBOSE. Tentukan tag yang ingin Anda gunakan dalam daftar yang dipisahkan koma. Berikut adalah contoh penentuannya menggunakan tag socket dan gles:


ANDROID_VERBOSE=socket,gles

Cara ini setara dengan menggunakan:

-debug-socket -debug-gles

-debug-tag
-debug-no-tag
Mengaktifkan jenis pesan debug tertentu. Gunakan formulir 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 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). Opsi ini merupakan daftar filter log dari format componentName:logLevel yang dipisahkan dengan spasi atau koma. componentName adalah tanda bintang karakter pengganti (*) atau nama komponen, seperti ActivityManager, SystemServer, InputManager, WindowManager, dan seterusnya. logLevel adalah salah satu nilai berikut:

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

Contoh berikut menampilkan pesan komponen GSM di level log informative:


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

Jika Anda tidak memberikan 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 akan menggunakan nilainya untuk mengaktifkan output logcat ke terminal secara default. Anda juga dapat mengalihkan pesan log yang sama, atau lainnya, ke terminal melalui adb. Untuk informasi selengkapnya tentang logcat dan adb, lihat Alat 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

Opsi 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 ditentukan. servers adalah daftar yang dipisahkan koma untuk maksimum 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 alamat berikut:
http://server:port
http://username:password@server:port

Awalan http:// dapat dihilangkan.

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

-netdelay delay

Menetapkan 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 - Menentukan latensi yang tepat.
  • min:max - Menentukan latensi minimum dan maksimum individual.

Contoh:


emulator @Nexus_5X_API_23 -netdelay gsm

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

-netfast Menonaktifkan pembatasan jaringan. Contoh:


emulator @Nexus_5X_API_23 -netfast

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

-netspeed speed

Menyetel emulasi kecepatan jaringan. Tentukan 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: 5760.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 secara individual.

Contoh:


emulator @Nexus_5X_API_23 -netspeed edge

Emulator mendukung pembatasan jaringan (membatasi bandwidth maksimum jaringan, disebut juga pembentukan 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 biasanya sama dengan penetapan -ports port,{port + 1}. {port + 1} harus tersedia dan akan disiapkan 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 dalam judul jendela, dan Anda dapat melihat nomor port adb dengan memilih Help > About.

Perlu diketahui 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 instance emulator, dan memberi tahu apabila 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 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. Di Linux, emulasi tersebut bergantung pada KVM. Di Windows dan Mac, emulasi ini mengandalkan 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 terutama berguna 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 mengemulasi AVD tertentu. Anda hanya boleh menggunakan opsi -engine untuk keperluan proses debug dan perbandingan.

-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. Opsi ini berguna hanya untuk proses debug dan sama seperti menetapkan -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, yang berarti 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 yang lain 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 (default).
  • multi-touch - Mengemulasi layar multi-sentuh.
  • no-touch - Menonaktifkan emulasi layar sentuh dan multi-sentuh.

Opsi lanjutan

Opsi mulai command line berikut tersedia, tetapi tidak biasanya digunakan oleh developer aplikasi pada umumnya.

Dalam deskripsi, direktori kerja adalah direktori saat ini di terminal tempat Anda memasukkan perintah. Untuk informasi tentang direktori sistem dan direktori data AVD, serta file yang tersimpan di dalamnya, baca 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 mengerjakan sistem Android dan menjalankannya dalam emulator tanpa AVD yang dibuat sebelumnya; mereka adalah 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 yang bernama 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, defaultnya adalah 66 MB. Biasanya, sebagian besar developer aplikasi tidak memerlukan opsi ini, kecuali mereka perlu mendownload file yang berukuran sangat besar dan melebihi 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 tidak ada, emulator akan membuat image dari file userdata.img default, menyimpannya dalam nama file yang Anda tentukan, dan menyimpan data pengguna ke dalamnya saat perangkat dimatikan. Jika Anda tidak menggunakan opsi ini, defaultnya adalah file yang bernama 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 akan menyalin konten file yang ditentukan ke data pengguna (secara default, file userdata-qemu.img), bukan 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 spesifik yang diemulasi. 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 yang bernama cache.img. Opsi ini hanya ditujukan bagi 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 menggantikan 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, memaksa booting penuh dan menonaktifkan fungsionalitas snapshot status. Opsi ini menggantikan 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 maksimum terdiri dari 32 karakter tanpa spasi, dan value harus berupa string yang maksimum 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 booting 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 dalam 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. Opsi ini dapat berguna untuk skrip pengujian otomatis. socket harus menggunakan salah satu format berikut:

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

Untuk informasi selengkapnya, gunakan opsi -help-report-console seperti yang dijelaskan dalam Mendapatkan bantuan mendetail untuk opsi spesifik.

-shell

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

  • Opsi ini membuat shell root yang memungkinkan Anda memodifikasi berbagai 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 urutan booting lengkap, dan melakukan operasi simpan.

Lihat opsi -snapstorage untuk mendapatkan informasi tentang menentukan file penyimpanan 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 Anda menyimpan informasi ini dalam snapshot lain, perubahan apa pun sejak saat itu akan hilang.

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

-snapshot-list

Menampilkan daftar snapshot yang tersedia. Opsi ini menampilkan tabel snapshot yang disimpan dalam file penyimpanan snapshot dan digunakan untuk memulai emulator, lalu keluar. Jika Anda juga menentukan -snapstorage file, perintah ini akan menampilkan tabel snapshot yang disimpan 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 TAG dan ID 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 Anda tidak menentukan opsi ini, defaultnya adalah snapshots.img dalam 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, serta jalur absolut atau jalur yang terkait dengan direktori kerja. Jika Anda tidak menggunakan opsi ini, defaultnya adalah file system.img dalam 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

Di Linux, gunakan sistem libstdc++, bukan versi yang dipaketkan dengan sistem emulator. Gunakan opsi ini hanya jika emulator tidak dapat dimulai secara normal, meskipun tidak selalu akan 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 memberi tahu emulator agar memasang ulang system/ sebagai baca/tulis (sebelumnya dipasang sebagai hanya-baca secara default).

Perlu diketahui bahwa penggunaan tanda ini akan menghasilkan salinan sementara image sistem yang mungkin berukuran sangat besar (beberapa ratus MB), tetapi akan dihapus saat emulator ditutup.

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 mendetail daripada deskripsi yang diberikan oleh opsi -help.

Mendapatkan bantuan mendetail 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 berikut:

emulator -help-environment
    

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

Membuat daftar tag debug

Untuk menampilkan daftar tag bagi opsi -debug, masukkan perintah berikut:

emulator -help-debug-tags
    

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