Çalışan her sanal cihaz, emüle edilmiş cihaz ortamını sorgulamanıza ve kontrol etmenize olanak tanıyan bir konsol sağlar. Örneğin, uygulamanız emülatörde çalışırken bağlantı noktası yönlendirmeyi, ağ özelliklerini ve telefoni etkinliklerini yönetmek için konsolu kullanabilirsiniz.
Aşağıdaki komutların çalıştırılabilmesi için bir emülatörün çalışıyor olması gerekir. Emülatör çalıştırma hakkında daha fazla bilgi için Android Emülatör'de uygulamaları çalıştırma ve Emülatörü komut satırından başlatma başlıklı makaleleri inceleyin.
Konsol oturumunu başlatma ve durdurma
Konsola erişmek ve bir terminal penceresinden komut girmek için telnet kullanarak konsol bağlantı noktasına bağlanın ve kimlik doğrulama jetonunuzu girin. Konsol her OK gösterdiğinde komut almaya hazırdır. Tipik bir istem yoktur.
Çalışan bir sanal cihazın konsoluna bağlanmak için:
- Bir terminal penceresi açıp aşağıdaki komutu girin:
- Konsolda
OKsimgesi gösterildikten sonraauth auth_tokenkomutunu girin. - Konsola bağlandıktan sonra konsol komutlarını girin.
- Konsol oturumundan çıkmak için
quitveyaexitgirin.
telnet localhost console-port
Emülatör pencere başlığı, ayrı bir pencerede çalıştırıldığında konsol bağlantı noktası numarasını listeler ancak araç penceresinde çalıştırıldığında listelemez. Örneğin, konsol bağlantı noktası 5554'ü kullanan bir emülatörün pencere başlığı Pixel8_API_34:5554 olabilir. Ayrıca, adb devices komutu, çalışan sanal cihazların ve bunların konsol bağlantı noktası numaralarının listesini yazdırır. Daha fazla bilgi için Cihaz sorgulama başlıklı makaleyi inceleyin.
Not: Emülatör, 5554-5585 bağlantı noktalarındaki bağlantıları dinler ve yalnızca localhost bağlantılarını kabul eder.
Konsol komutları girebilmeniz için önce emülatör konsolunda kimlik doğrulama yapmanız gerekir. auth_token, ana dizininizdeki .emulator_console_auth_token dosyasının içeriğiyle eşleşmelidir.
Bu dosya mevcut değilse telnet localhost console-port
komutu, rastgele oluşturulmuş bir kimlik doğrulama jetonu içeren dosyayı oluşturur. Kimlik doğrulamayı devre dışı bırakmak için jetonu .emulator_console_auth_token dosyasından silin veya dosya yoksa boş bir dosya oluşturun.
Konsol komutlarının listesini görmek ve belirli komutlar hakkında bilgi edinmek için help, help command veya help-verbose değerini girin.
Aşağıda örnek bir oturum verilmiştir:
$ 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|? Prints a list of commands
help-verbose Prints a list of commands with descriptions
ping Checks if the emulator is alive
automation Manages emulator automation
event Simulates hardware events
geo Geo-location commands
gsm GSM related commands
cdma CDMA related commands
crash Crashes the emulator instance
crash-on-exit Simulates crash on exit for the emulator instance
kill Terminates the emulator instance
restart Restarts the emulator instance
network Manages network settings (ethernet and cellular only)
power Power related commands
quit|exit Quits control session
redir Manages port redirections
sms SMS related commands
avd Controls virtual device execution
qemu QEMU-specific commands
sensor Manages emulator sensors
physics Manages physical model
finger Manages emulator finger print
debug Controls the emulator debug output tags
rotate Rotates the screen clockwise by 90 degrees
screenrecord Records the emulator's display
fold Folds the device
unfold Unfolds the device
multidisplay Configures the multi-display
nodraw turn on/off NoDraw mode. (experimental)
resize-display resize the display resolution to the preset size
virtualscene-image customize virtualscene image for virtulscene camera
proxy manage network proxy server settings
phonenumber set phone number for the device
try 'help <command>' for command-specific help
OK
exit
Connection closed by foreign host.
Emülatör komut referansı
Aşağıdaki tabloda, parametreleri ve değerleriyle birlikte emülatör konsolu komutları açıklanmaktadır:
Tablo 1. Emülatör konsol komutları
| Genel komutlar | Açıklama |
|---|---|
avd {stop|start|status|name}
|
Sanal cihazı aşağıdaki gibi sorgular, kontrol eder ve yönetir:
|
avd snapshot {list|save name|load name|delete
name}
|
Cihaz durumunu anlık görüntülerde aşağıdaki şekilde kaydeder ve geri yükler:
Aşağıdaki örnekte, avd snapshot save firstactivitysnapshot |
fold
|
Cihaz katlanabilirse ve şu anda katlanmamış durumdaysa daha küçük ekran yapılandırmasını göstermek için cihazı katlar. |
unfold
|
Cihaz katlanabilirse ve şu anda katlanmış durumdaysa daha büyük ekran yapılandırmasını göstermek için cihazı açar. |
kill
|
Sanal cihazı sonlandırır. |
ping
|
Sanal cihazın çalışıp çalışmadığını kontrol eder. |
rotate
|
AVD'yi saat yönünün tersine 45 derecelik artışlarla döndürür. |
| Emülatörün kilitlenmesi | Açıklama |
crash
|
Uygulama yürütülürken emülatörün kilitlenmesine neden olur. |
crash-on-exit |
Uygulama çıktığında emülatörün kilitlenmesine neden olur. |
| Etiketlerde hata ayıklama | Açıklama |
debug tags ...
|
Emülatörün belirli bölümlerinden gelen hata ayıklama mesajlarını etkinleştirir veya devre dışı bırakır.
tags parametresi,
Aşağıdaki örnekte debug radio |
| Bağlantı noktası yönlendirme | Açıklama |
redir list
|
Mevcut bağlantı noktası yönlendirmesini listeler. |
redir add protocol:host-port:guest-port
|
Aşağıdaki gibi yeni bir bağlantı noktası yönlendirmesi ekler:
|
redir del protocol:host-port
|
Bağlantı noktası yönlendirmesini siler.
|
| Coğrafi konum | Açıklama |
|
Emülatöre GPS düzeltmesi göndererek emülatörde çalışan uygulamalara bildirilen coğrafi konumu ayarlar. Sanal cihaz çalışır çalışmaz aşağıdaki |
|
geo fix longitude latitude [altitude] [satellites] [velocity]
|
Emülatöre basit bir GPS düzeltmesi gönderir.
longitude ve latitude değerlerini ondalık derece olarak belirtin. Konumu belirlemek için kullanılacak satellites sayısını belirtmek üzere 1 ile 12 arasında bir sayı kullanın ve altitude değerini metre, velocity değerini ise knot cinsinden belirtin.
|
geo nmea sentence
|
NMEA 0183 cümlesini, emüle edilmiş bir GPS modemden gönderilmiş gibi emüle edilmiş cihaza gönderir. sentence ile başlayın.
Şu anda yalnızca "$GPGGA" ve "$GPRCM" cümleleri desteklenmektedir. Aşağıdaki örnek, bir GPS alıcısının saat, konum ve düzeltme verilerini alan bir GPGGA (Küresel Konum Belirleme Sistemi Düzeltme Verileri) cümlesidir:
geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx |
| Sahte donanım etkinlikleri | Açıklama |
event types
|
Tüm sahte etkinlik türlerini listeler. Kod içeren etkinliklerde kod sayısı sağ taraftaki parantez içinde listelenir.
event types
event <type> can be an integer or one of the following aliases:
EV_SYN
EV_KEY (405 code aliases)
EV_REL (2 code aliases)
EV_ABS (27 code aliases)
EV_MSC
EV_SW (4 code aliases)
EV_LED
EV_SND
EV_REP
EV_FF
EV_PWR
EV_FF_STATUS
EV_MAX
OK
|
event send types [types ...]
|
Bir veya daha fazla sahte etkinlik türü gönderiyor. |
event codes type
|
Belirtilen sahte etkinlik türü için etkinlik kodlarını listeler. |
event send type[:code]:[value] [...]
|
İsteğe bağlı kodlar ve kod değerleriyle bir veya daha fazla sahte etkinlik gönderir.
Tam olarak hangi etkinliğin gönderileceğini öğrenmek için emülatördeki düğmelere manuel olarak basarken Güç düğmesine bastığınızda oluşturulan etkinlikler şunlardır:
adb shell getevent -lt
/dev/input/event12: EV_KEY KEY_POWER DOWN
/dev/input/event12: EV_SYN SYN_REPORT 00000000
/dev/input/event12: EV_KEY KEY_POWER UP
/dev/input/event12: EV_SYN SYN_REPORT 00000000
EV_KEY etkinliği gönderin:
event send EV_KEY:KEY_POWER:0
OK
event send EV_KEY:KEY_POWER:1
OK
|
event text message
|
Tuş basımlarını simüle eden bir karakter dizisi gönderir. Mesaj, UTF-8 dizesi olmalıdır. Unicode gönderileri, mevcut cihaz klavyesine göre ters eşlenir ve desteklenmeyen karakterler sessizce silinir. |
| Güç durumu kontrolleri | Açıklama |
power display
|
Pil ve şarj cihazı durumunu gösterir. |
power ac {on|off}
|
AC şarj durumunu on veya off olarak ayarlar.
|
power status {unknown|charging|discharging|not-charging|full}
|
Pil durumunu belirtildiği gibi değiştirir. |
power present {true|false}
|
Pil varlığı durumunu ayarlar. |
power health {unknown|good|overheat|dead|overvoltage|failure}
|
Pil sağlığı durumunu ayarlar. |
power capacity percent
|
Kalan pil kapasitesi durumunu yüzde olarak 0 ile 100 arasında ayarlar. |
| Ağ bağlantısı durumu (yalnızca Ethernet ve hücresel) |
Açıklama |
network status
|
Ağ durumunu, mevcut gecikmeyi ve hız özelliklerini kontrol eder. |
network delay latency
|
Emüle edilen ağ gecikmesini değiştirir. Emülatör, uygulamanızı gerçek çalışma koşullarına daha uygun bir ortamda test edebilmeniz için çeşitli ağ gecikmesi düzeylerini simüle etmenize olanak tanır. Emülatör başlatılırken bir gecikme düzeyi veya aralığı ayarlayabilir ya da uygulama emülatörde çalışırken gecikmeyi değiştirmek için konsolu kullanabilirsiniz. Ağ latency biçimi aşağıdakilerden biridir (sayılar milisaniye cinsindendir): Ağ gecikmesi biçimi:
Emülatör başlatılırken gecikmeyi ayarlamak için önceki Ağ gecikmesi biçimi listesinde belirtildiği gibi desteklenen bir emulator -netdelay gprs emulator -netdelay 40,100 Emülatör çalışırken ağ gecikmesinde değişiklik yapmak için konsola bağlanın ve önceki Ağ gecikmesi biçimi listesinden desteklenen bir network delay gprs network delay 40 100 |
network speed speed |
Emülatör, çeşitli ağ aktarım hızlarını simüle etmenize olanak tanır.
Emülatör başlatılırken aktarım hızı veya aralığı ayarlayabilir ya da uygulama emülatörde çalışırken hızı değiştirmek için konsolu kullanabilirsiniz. Ağ Ağ hızı biçimi:
Ağ hızını emülatör başlatılırken ayarlamak için önceki Ağ hızı biçimi listesinde olduğu gibi desteklenen bir emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 Emülatör çalışırken ağ hızında değişiklik yapmak için konsola bağlanın ve önceki Ağ hızı biçimi listesinden desteklenen bir network speed 14.4 80 |
network capture {start|stop} file |
Paketleri bir dosyaya gönderir. Aşağıdaki listede parametreler ve parametre değerleri açıklanmaktadır:
|
| Telefon emülasyonu | Açıklama |
| Android emülatöründe, emülatörde telefon işlevlerini simüle etmenize olanak tanıyan kendi GSM ve CDMA emüle edilmiş modemleri bulunur. Örneğin, GSM ile gelen telefon aramalarını simüle edebilir, veri bağlantıları oluşturup sonlandırabilirsiniz. CDMA'da abonelik kaynağı ve tercih edilen dolaşım listesini siz sağlarsınız. Android sistemi, simüle edilmiş aramaları gerçek aramalar gibi işler. Emülatör, görüşme sesini desteklemiyor. | |
gsm {call|accept|cancel|busy} phonenumber
|
gsm parametreleri şunlardır:
|
gsm {data|voice} state
|
data state komutu, GPRS veri bağlantısının durumunu değiştirir.
data voice state komutu ise GPRS ses bağlantısının durumunu aşağıdaki gibi değiştirir:
|
gsm hold
|
Bir görüşmenin durumunu hold olarak değiştirir. Bir görüşme durumunu hold olarak yalnızca mevcut durumu active veya waiting olduğunda değiştirebilirsiniz.
|
gsm list
|
Tüm gelen ve giden aramaları ve durumlarını listeler. |
gsm status
|
Mevcut GSM ses/veri durumunu bildirir. Değerler, voice ve data komutları için açıklanan değerlerdir.
|
gsm signal {rssi|ber}
|
Güncellemenin sonraki 15 saniyesinde bildirilen sinyal gücünü (rssi) ve bit hata oranını (ber) değiştirir. Aşağıdaki listede parametreler ve değerleri açıklanmaktadır:
|
gsm signal-profile num
|
Sinyal gücü profilini ayarlar.
num, 0 ile 4 arasında bir sayıdır.
|
cdma ssource source
|
Mevcut CDMA abonelik kaynağını ayarlar. Burada source, CDMA operatörünün abonelerini ve değerlerini içeren ağ tabanlı bir izin verilenler listesidir. Değerler şu şekildedir:
|
cdma prl_version version
|
Mevcut tercih edilen dolaşım listesi (PRL) sürümünü boşaltır. Sürüm numarası, sistem seçimi ve edinme süreci sırasında kullanılan bilgileri içeren PRL veritabanı içindir. |
| Emülatördeki sensörleri yönetme | Açıklama |
Bu komutlar, AVD'de hangi sensörlerin bulunduğunu gösterir. sensor komutunu kullanmanın yanı sıra, Hız ölçer ve Ek sensörler sekmelerindeki Sanal sensörler ekranında emülatördeki ayarları görebilir ve düzenleyebilirsiniz.
|
|
sensor status |
Tüm sensörleri ve durumlarını listeler. Aşağıda sensor status komutunun örnek çıkışı verilmiştir:
|
sensor get sensor-name
|
sensor-name için ayarları alır. Aşağıdaki örnekte, ivme sensörünün değeri alınır:
sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348
İki nokta işaretiyle(:) ayrılmış |
sensor set sensor-name value-x:value-y:value-z
|
sensor-name için değerleri ayarlar. Aşağıdaki örnekte, hızlanma sensörü iki nokta üst üste ile ayrılmış x, y ve z değerlerine ayarlanır.
sensor set acceleration 2.23517e-07:9.77631:0.812348 |
| SMS emülasyonu | Açıklama |
sms send sender-phone-number textmessage
|
Emüle edilmiş bir gelen SMS oluşturur. Aşağıdaki listede parametreler ve değerleri açıklanmaktadır:
Aşağıdaki örnekte, 4085555555 telefon numarasına "merhaba" mesajı gönderilir: sms send 4085555555 hi there Konsol, SMS mesajını Android çerçevesine iletir. Bu çerçeve de mesajı, emülatördeki SMS'i işleyen bir uygulamaya (ör. Mesajlar uygulaması) geçirir. 10 rakam iletirseniz uygulama bunu telefon numarası olarak biçimlendirir. Daha uzun veya daha kısa sayısal dizeler, gönderdiğiniz şekilde gösterilir.
|
| Parmak izi simülasyonu | Açıklama |
finger touch fingerprint-id
|
Sensöre dokunan bir parmağı simüle eder. |
finger remove
|
Parmak çıkarma işlemini simüle eder.
Bu komutların nasıl kullanılacağıyla ilgili talimatlar için parmak izi simülasyonu ve doğrulama hakkındaki aşağıdaki bölüme bakın. |
Parmak izi simülasyonu ve doğrulaması
Şekil 1. Parmak iziyle kimlik doğrulama ekranı.
Uygulamanız için parmak iziyle kimlik doğrulamayı simüle etmek ve doğrulamak üzere finger komutunu kullanın. SDK Tools 24.3 veya sonraki bir sürüm ve Android 6.0 (API düzeyi 23) ya da sonraki bir sürüm gerekir.
Parmak iziyle kimlik doğrulamayı simüle etmek ve doğrulamak için aşağıdaki adımları uygulayın:
- Henüz parmak izi kimliğiniz yoksa Ayarlar > Güvenlik > Parmak izi'ni seçip kayıt talimatlarını uygulayarak emülatörde yeni bir parmak izi kaydedin.
- Uygulamanızı parmak iziyle kimlik doğrulama özelliğini kabul edecek şekilde ayarlayın. Bu kurulumu yaptıktan sonra cihazınızda parmak izi kimlik doğrulama ekranı gösterilir.
- Uygulamanız parmak iziyle kimlik doğrulama ekranını gösterirken konsola gidin ve
finger touchkomutunu ve oluşturduğunuz parmak izi kimliğini girin. Bu işlem, parmakla dokunma simülasyonu yapar. - Ardından, parmak kaldırma işlemini simüle etmek için
finger removekomutunu girin.Uygulamanız, kullanıcı parmağıyla parmak izi sensörüne dokunup parmağını kaldırmış gibi yanıt vermelidir.