Mengirim perintah konsol emulator

Setiap perangkat virtual yang berjalan menyediakan konsol yang memungkinkan Anda untuk meminta dan mengontrol lingkungan perangkat yang diemulasikan. Misalnya, Anda dapat menggunakan konsol untuk mengelola pengalihan port, karakteristik jaringan, dan peristiwa telepon saat aplikasi Anda berjalan di emulator.

Perintah berikut ini mewajibkan Anda sudah menjalankan emulator. Untuk mengetahui informasi selengkapnya tentang menjalankan emulator, lihat Menjalankan Aplikasi di Android Emulator dan Mulai Emulator dari Command Line.

Memulai dan menghentikan sesi konsol

Untuk mengakses konsol dan memasukkan perintah, dari jendela terminal, gunakan telnet agar terhubung ke port konsol dan memberikan token autentikasi Anda. Setiap kali konsol menampilkan OK, artinya konsol siap menerima perintah. Konsol tidak memiliki perintah yang khas.

Agar terhubung ke konsol perangkat virtual yang berjalan:

  1. Buka jendela terminal dan masukkan perintah berikut:
  2. telnet localhost console-port

    Judul jendela emulator mencantumkan nomor port konsol. Misalnya, judul jendela untuk emulator yang menggunakan port konsol 5554 bisa menjadi Nexus_5X_API_23:5554. Selain itu, perintah adb devices mencetak daftar perangkat virtual yang berjalan dan nomor port konsolnya. Untuk mengetahui informasi selengkapnya, baca Permintaan untuk Instance Perangkat/Emulator.

    Catatan: Emulator akan memproses sambungan pada port 5554 hingga 5585 dan menerima sambungan dari localhost saja.

  3. Setelah konsol menampilkan OK, masukkan perintah auth auth_token.
  4. Sebelum Anda memasukkan perintah konsol, konsol emulator memerlukan autentikasi. auth_token harus cocok dengan isi file .emulator_console_auth_token dalam direktori beranda Anda.

    Jika file tersebut tidak ada, perintah telnet localhost console-port akan membuat file, yang berisi token autentikasi yang dibuat secara acak. Untuk menonaktifkan autentikasi, hapus token dari file .emulator_console_auth_token atau buat file kosong jika tidak ada.

  5. Setelah Anda terhubung ke konsol, masukkan perintah konsol.
  6. Masukkan help, help command, atau help-verbose untuk melihat daftar perintah konsol dan mempelajari perintah khusus.

  7. Untuk keluar dari sesi konsol, masukkan quit atau exit.

Berikut ini adalah contoh sesi:

    $ telnet localhost 5554
    Trying ::1...
    telnet: connect to address ::1: Connection refused
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    Android Console: Authentication required
    Android Console: type 'auth <auth_token>' to authenticate
    Android Console: you can find your <auth_token> in
    '/Users/me/.emulator_console_auth_token'
    OK
    auth 123456789ABCdefZ
    Android Console: type 'help' for a list of commands
    OK
    help-verbose
    Android console command help:
        help|h|?         print a list of commands
        help-verbose     print a list of cmmands with descriptions
        ping             check if the emulator is alive
        automation       record and play back macros for device state automation
        event            simulate hardware events
        geo              Geo-location commands
        gsm              GSM related commands
        cdma             CDMA related commands
        crash            crash the emulator instance
        crash-on-exit    simulate crash on exit for the emulator instance
        kill             kill the emulator instance
        restart          restart the emulator instance
        network          manage network settings
        power            power related commands
        quit|exit        quit control session
        redir            manage port redirections
        sms              SMS related commands
        avd              control virtual device execution
        qemu             connect to the QEMU virtual machine monitor
        sensor           manage emulator sensors
        physics          record and playback physical model state changes
        finger           manage emulator fingerprint
        debug            control the emulator debug output tags
        rotate           rotate the screen by 90 degrees
        screenrecord     record the emulator's display
        fold             fold the device
        unfold           unfold the device
        multidisplay     create/modify/delete displays besides the default android display

    try 'help <command>' for command-specific help
    OK
    exit
    Connection closed by foreign host.
    

Referensi perintah emulator

Tabel berikut mendeskripsikan perintah konsol emulator beserta parameter dan nilainya.

Tabel 1. Perintah konsol emulator

Perintah Umum Deskripsi
avd {stop|start|status|name} Meminta, mengontrol, dan mengelola perangkat virtual, sebagai berikut:
  • stop: Menghentikan eksekusi perangkat.
  • start: Memulai eksekusi perangkat.
  • status: Meminta status perangkat virtual, yang dapat berupa running atau stopped.
  • name: Meminta nama perangkat virtual.
avd snapshot {list|save name|load name|delete name} Menyimpan dan memulihkan status perangkat dalam snapshot, sebagai berikut:
  • list: Mencantumkan semua foto yang disimpan.
  • save name: Menyimpan snapshot sebagai nama.
  • load name: Memuat snapshot yang bernama.
  • delete name: Menghapus snapshot bernama.

Berikut adalah contoh penyimpanan snapshot dengan nama firstactivitysnapshot.


avd snapshot save firstactivitysnapshot
fold Melipat perangkat untuk menampilkan konfigurasi dengan layar lebih kecil (jika perangkat dapat dilipat dan saat ini sedang terbuka).
unfold Membuka lipatan perangkat untuk menampilkan konfigurasi dengan layar yang lebih besar (jika perangkat dapat dilipat dan saat ini sedang terlipat).
kill Menghentikan perangkat virtual.
ping Memeriksa apakah perangkat virtual sedang berjalan.
rotate Memutar AVD berlawanan arah jarum jam dengan inkremen 45 derajat.
Menghentikan emulator Deskripsi
crash Menghentikan emulator selama menjalankan aplikasi.
crash-on-exit Menghentikan emulator saat aplikasi ditutup.
Tag debug Deskripsi
debug tags ...

Mengaktifkan atau menonaktifkan pesan debug dari bagian emulator tertentu. Parameter tag harus berupa nilai dari daftar tag debug yang muncul saat Anda menjalankan emulator -help-debug-tags. Untuk mengetahui informasi selengkapnya tentang opsi -help-debug-tags, lihat Opsi emulator yang umum digunakan.

Berikut adalah contoh pengaktifan tag radio:


debug radio
Pengalihan port Deskripsi
redir list Mencantumkan daftar pengalihan port saat ini.
redir add protocol:host-port:guest-port Menambahkan pengalihan port baru, sebagai berikut:
  • protocol: Harus berupa tcp atau udp.
  • host-port: Nomor port yang harus dibuka pada host.
  • guest-port: Nomor port untuk merutekan data pada emulator.
redir del protocol:host-port Menghapus pengalihan port.
  • protocol: Harus berupa tcp atau udp.
  • host-port: Nomor port yang harus dibuka pada host.
Lokasi geografis Deskripsi
Setel lokasi geografis yang dilaporkan ke aplikasi yang berjalan dalam emulator dengan mengirimkan perbaikan GPS ke emulator.

Anda dapat memberikan perintah geo segera setelah perangkat virtual berjalan. Emulator menetapkan lokasi yang Anda masukkan dengan membuat penyedia lokasi palsu. Penyedia ini merespons pemroses lokasi yang ditetapkan oleh aplikasi dan menyediakan lokasi ke LocationManager. Aplikasi apa pun dapat meminta pengelola lokasi mendapatkan perbaikan GPS terkini untuk perangkat yang diemulasi dengan memanggil LocationManager.getLastKnownLocation("gps")

geo fix longitude latitude satellites [altitude] Mengirim perbaikan GPS sederhana ke emulator. Tentukan longitude dan latitude dalam derajat desimal. Gunakan angka dari 1 hingga 12 untuk menentukan jumlah satellites yang akan digunakan untuk menentukan posisi, dan menentukan altitude dalam meter.
geo nmea sentence Mengirim kalimat NMEA 0183 ke perangkat yang diemulasikan, seolah dikirim dari modem GPS yang ditiru. Mulai sentence dengan '$GP'. Hanya kalimat '$GPGGA' dan '$GPRCM' yang saat ini didukung. Contoh berikut adalah kalimat GPGGA (Global Fixing System Fix Data) yang mendapatkan waktu, posisi, dan memperbaiki data untuk penerima GPS:

geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx
Peristiwa hardware palsu Deskripsi
event types Mencantumkan semua jenis peristiwa palsu. Untuk peristiwa yang memiliki kode, jumlah kode tercantum dalam parens di sebelah kanan.
event send types [types ...] Mengirim satu atau beberapa jenis peristiwa palsu.
event codes type Mencantumkan kode acara untuk jenis peristiwa palsu yang ditentukan.
event send type[:code]:[value] [...] Mengirim satu atau beberapa peristiwa palsu dengan kode opsional dan nilai kode. Berikut adalah contoh pengiriman tiga peristiwa, di mana dua peristiwa terakhir menyertakan kode peristiwa.

event send EV_PWR EV_SW:SW_LID EV_REL:REL_X
event text message Mengirim serangkaian karakter yang melakukan simulasi saat tombol ditekan. Pesan harus berupa string UTF-8. Postingan Unicode dipetakan terbalik sesuai dengan keyboard perangkat saat ini, dan karakter yang tidak didukung akan diam-diam dibuang.
Kontrol status daya yang dilaporkan emulator ke aplikasi Deskripsi
power display Menampilkan status baterai dan pengisi daya.
power ac {on|off} Menyetel status pengisian AC menjadi on atau off.
power status {unknown|charging|discharging|not-charging|full} Mengubah status baterai seperti yang ditentukan.
power present {true|false} Menyetel status keberadaan baterai.
power health {unknown|good|overheat|dead|overvoltage|failure} Menyetel status kesehatan baterai.
power capacity percent Menyetel status kapasitas baterai yang tersisa dalam persen dari 0 hingga 100.
Status koneksi jaringan Deskripsi
network status Memeriksa status jaringan serta karakteristik kecepatan dan waktu tunda saat ini.
network delay latency Mengubah latensi jaringan yang diemulasikan.

Emulator memungkinkan Anda melakukan simulasi berbagai tingkat latensi jaringan, sehingga Anda dapat menguji aplikasi di lingkungan yang lebih khas dari kondisi aktual yang akan dijalankannya. Anda dapat menyetel tingkat atau rentang latensi saat memulai emulator, atau menggunakan konsol untuk mengubah latensi saat aplikasi berjalan di emulator.

Untuk menyetel latensi saat memulai emulator, gunakan opsi emulator -netdelaydengan nilai latency yang didukung, seperti yang tercantum dalam daftar format latensi Jaringan di bawah ini. Berikut beberapa contohnya:


emulator -netdelay gprs
    emulator -netdelay 40,100

Untuk mengubah penundaan jaringan saat emulator sedang berjalan, sambungkan ke konsol dan gunakan perintah netdelay dengan nilai latency yang didukung dari daftar format latensi Jaringan di bawah ini.


network delay gprs
    network delay 40 100

Format latensi jaringan:

Format latensi jaringan adalah salah satu dari berikut ini (jumlahnya tertera dalam milidetik):

  • gprs: GPRS, yang menggunakan rentang latensi minimum sebesar 150 dan maksimum sebesar 550.
  • edge: EDGE/EGPRS, yang menggunakan rentang latensi minimum 80 dan maksimum 400.
  • umts: UMTS/3G, yang menggunakan rentang latensi minimum 35 dan maksimum 200.
  • none: Tidak ada latensi.
  • num: Mengemulasikan latensi yang ditentukan dalam milidetik.
  • min:max: Mengemulasikan rentang latensi yang ditentukan.
network speed speed Emulator memungkinkan Anda melakukan simulasi berbagai laju transfer jaringan.

Anda dapat menyetel laju atau rentang transfer pada saat memulai emulator, atau menggunakan konsol untuk mengubah laju, saat aplikasi berjalan di emulator.

Untuk menyetel kecepatan jaringan pada saat memulai emulator, gunakan opsi emulator -netspeed dengan nilai speed yang didukung, seperti yang tercantum dalam daftar format kecepatan jaringan di bawah ini. Berikut beberapa contohnya:


    emulator -netspeed gsm @Pixel_API_26
    emulator -netspeed 14.4,80 @Pixel_API_26
    

Untuk mengubah kecepatan jaringan saat emulator sedang berjalan, sambungkan ke konsol dan gunakan perintah network speed dengan nilai speed yang didukung dari daftar format kecepatan Jaringan di bawah ini.


network speed 14.4 80

Format kecepatan jaringan:

Format speed jaringan adalah salah satu dari berikut ini (jumlahnya dalam kilobit/detik):

  • gsm: GSM/CSD, yang menggunakan kecepatan 14,4 ke atas dan 14,4 ke bawah.
  • hscsd: HSCSD, yang menggunakan kecepatan 14,4 ke atas dan 43,2 ke bawah.
  • gprs: GPRS, yang menggunakan kecepatan 40,0 ke atas dan 80,0 ke bawah.
  • edge: EDGE/EGPRS, yang menggunakan kecepatan 118,4 ke atas dan 236,8 ke bawah.
  • umts: UMTS/3G, yang menggunakan kecepatan 128,0 ke atas dan 1920 ke bawah.
  • hsdpa: HSDPA, yang menggunakan kecepatan 348,0 ke atas dan 14400,0 ke bawah.
  • lte: LTE, yang menggunakan kecepatan 58.000 ke atas dan 173.000 ke bawah.
  • evdo: EVDO, yang menggunakan kecepatan 75.000 ke atas dan 280.000 ke bawah.
  • full: Kecepatan tidak terbatas, namun tergantung pada kecepatan sambungan jaringan komputer Anda.
  • num: Menyetel laju yang tepat dalam kilobit/detik yang digunakan untuk mengupload dan mendownload.
  • up:down: Menyetel laju yang tepat dalam kilobit/detik untuk mengupload dan mendownload secara terpisah.
network capture {start|stop} file Mengirim paket ke file. Daftar berikut ini mendeskripsikan parameter dan nilai parameter:
  • start file: Mulai mengirim paket ke file yang ditentukan.
  • stop file: Berhenti mengirim paket ke file yang ditentukan.
Emulasi telepon Deskripsi
Emulator Android menyertakan modem emulasi GSM dan CDMA sendiri yang memungkinkan Anda melakukan simulasi fungsi telepon di emulator. Misalnya, dengan GSM Anda dapat melakukan simulasi panggilan telepon masuk serta membuat dan mengakhiri koneksi data. Dengan CDMA Anda dapat menyediakan sumber langganan dan daftar roaming yang disukai. Sistem Android akan menangani panggilan simulasi persis seperti panggilan sebenarnya. Emulator tidak mendukung audio panggilan.
gsm {call|accept|cancel|busy} phonenumber Parameter gsm adalah sebagai berikut:
  • call: Melakukan simulasi panggilan telepon masuk dari phonenumber.
  • accept: Menerima panggilan masuk dari phonenumber dan mengubah status panggilan menjadi active. Anda dapat mengubah status panggilan menjadi active hanya ketika status saat ini adalah waiting atau held.
  • cancel: Mengakhiri panggilan telepon masuk atau keluar ke atau dari phonenumber.
  • busy: Menutup panggilan keluar ke phonenumber dan mengubah status panggilan menjadi busy. Anda dapat mengubah status panggilan menjadi busy hanya ketika status saat ini adalah waiting.
gsm {data|voice} state Perintah data state mengubah status koneksi data GPRS, dan data voice state mengubah status koneksi GPRS suara, sebagai berikut:
  • unregistered: Jaringan tidak tersedia.
  • home: Di jaringan lokal, non-roaming.
  • roaming: Di jaringan roaming.
  • searching: Mencari jaringan.
  • denied: Panggilan darurat saja.
  • off: Sama seperti unregistered.
  • on: Sama seperti home.
gsm hold Mengubah status panggilan menjadi hold. Anda dapat mengubah status panggilan menjadi hold hanya ketika status saat ini adalah active atau waiting.
gsm list Mencantumkan semua panggilan masuk dan keluar beserta statusnya.
gsm status Melaporkan status suara/data GSM saat ini. Nilai adalah yang dijelaskan untuk perintah voice dan data.
gsm signal {rssi|ber} Mengubah kekuatan sinyal yang dilaporkan (rssi) dan bit error rate (ber) pada 15 detik update berikutnya. Daftar berikut ini menguraikan parameter dan nilainya:
  • Rentang rssi adalah 0 hingga 31 dan 99 untuk tidak diketahui.
  • Rentang ber adalah 0 hingga 7 dan 99 untuk tidak diketahui.
gsm signal-profile num Menyetel profil kekuatan sinyal. Masukkan angka dari 0 hingga 4.
cdma ssource source source: Menyetel sumber langganan CDMA saat ini yang mana source adalah daftar berbasis jaringan yang diizinkan dan berisi pelanggan operator CDMA beserta nilainya, sebagai berikut:
  • nv: Membaca langganan dari RAM non-volatile.
  • ruim: Membaca langganan dari Removable User Identity Module (RUIM).
cdma prl_version version Membuang versi preferred roaming list (PRL) saat ini. Nomor versi adalah untuk database PRL yang berisi informasi yang digunakan selama proses pemilihan dan akuisisi sistem.
Kelola Sensor pada emulator Deskripsi
Perintah-perintah ini berkaitan dengan sensor yang tersedia di AVD. Selain menggunakan perintah sensor, Anda dapat melihat dan menyesuaikan setelan di emulator pada layar Virtual sensors di tab Accelerometer dan Additional sensors. Untuk mengetahui informasi selengkapnya, baca Bekerja dengan kontrol, setelan, dan bantuan yang diperluas.
sensor status Mencantumkan semua sensor dan statusnya. Berikut ini adalah contoh output untuk perintah sensor status:
sensor get sensor-name Mendapatkan setelan untuk sensor-name. Contoh berikut adalah nilai untuk sensor akselerasi:

    sensor get acceleration
    acceleration = 2.23517e-07:9.77631:0.812348
    

Nilai acceleration yang dipisahkan oleh titik dua(:) merujuk pada koordinat x, y, dan z untuk sensor virtual yang dijelaskan dalam Bekerja dengan kontrol, setelan, dan bantuan yang diperluas.

sensor set sensor-name value-x:value-y:value-z Menyetel nilai untuk sensor-name. Contoh berikut menyetel sensor akselerasi ke nilai x, y, dan z berikut yang dipisahkan oleh tanda titik dua. Untuk mengetahui informasi selengkapnya, baca Bekerja dengan kontrol, setelan, dan bantuan yang diperluas.

sensor set acceleration 2.23517e-07:9.77631:0.812348
Emulasi SMS Deskripsi
sms send sender-phone-number textmessage Membuat emulasi SMS masuk. Daftar berikut ini menguraikan parameter dan nilainya:
  • sender-phone-number: Berisi string numerik yang berubah-ubah.
  • textmessage: Pesan sms.

Berikut adalah contoh pengiriman pesan "hi there" ke nomor telepon 4085555555.


sms send 4085555555 hi there

Konsol akan meneruskan pesan SMS ke framework Android, yang mana akan diteruskan ke aplikasi di emulator yang menangani SMS, seperti aplikasi Pesan. Jika Anda memasukkan 10 angka, aplikasi akan memformatnya sebagai nomor telepon. String numerik yang lebih panjang atau lebih pendek akan menampilkan cara Anda mengirimnya.

Simulasi sidik jari Deskripsi
finger touch fingerprint-id Menyimulasikan jari yang menyentuh sensor.
finger remove Menyimulasikan pelepasan jari dari sensor.

Untuk mengetahui petunjuk tentang penggunaan perintah ini, baca Simulasi dan validasi sidik jari.

Simulasi dan validasi sidik jari

Gambar 1. Layar autentikasi sidik jari.

Gunakan perintah finger untuk melakukan simulasi dan validasi otentikasi sidik jari untuk aplikasi Anda. Anda memerlukan SDK Tools 24.3 atau yang lebih baru, dan Android 6.0 (API level 23) atau versi lebih tinggi.

Untuk melakukan simulasi dan validasi otentikasi sidik jari, ikuti langkah-langkah ini:

  1. Jika Anda belum memiliki ID sidik jari, daftarkan sidik jari baru di emulator dengan memilih Settings > Security > Fingerprint dan ikuti petunjuk pendaftaran.
  2. Siapkan aplikasi Anda untuk menerima autentikasi sidik jari. Setelah melakukan penyiapan ini, perangkat Anda akan menampilkan layar autentikasi sidik jari.
  3. Saat aplikasi menampilkan layar autentikasi sidik jari, buka konsol dan masukkan perintah finger touch serta ID sidik jari yang Anda buat. Aplikasi akan melakukan simulasi sentuhan jari.
  4. Kemudian, masukkan perintah finger remove untuk melakukan simulasi pelepasan jari dari sensor.

    Aplikasi Anda akan merespons seolah-olah pengguna menyentuh lalu melepaskan jarinya dari sensor sidik jari.