Çalışan her sanal cihaz, emüle edilen 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önlendirmesini, ağ özelliklerini ve telefon etkinliklerini yönetmek için konsolu kullanabilirsiniz.
Aşağıdaki komutlar için halihazırda bir emülatörünüzün çalışması 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 bölümlerine göz atın.
Konsol oturumu başlatma ve durdurma
Konsola erişmek ve bir terminal penceresinden komut girmek için konsol bağlantı noktasına bağlanmak ve kimlik doğrulama jetonunuzu sağlamak üzere telnet
öğesini kullanın. Konsolda Tamam her görüntülendiğinde, komutlar kabul edilmeye hazır olur. Tipik bir istem yok.
Çalışan bir sanal cihazın konsoluna bağlanmak için:
- Bir terminal penceresi açın ve aşağıdaki komutu girin:
- Konsolda
OK
gösterildikten sonraauth auth_token
komutunu girin. - Konsola bağlandıktan sonra konsol komutlarını girin.
- Konsol oturumundan çıkmak için
quit
veyaexit
girin.
telnet localhost console-port
Emülatör penceresi başlığında konsol bağlantı noktası numarası ayrı bir pencerede çalıştırılırken listelenir ancak
araç penceresinde çalıştırılırken listelenmez. Örneğin, konsol bağlantı noktası 5554'ü kullanan bir emülatörün pencere başlığı Nexus_5X_API_23:5554
olabilir. Ayrıca adb devices
komutu, çalışan sanal cihazların listesini ve bunların konsol bağlantı noktası numaralarını da yazdırır. Daha fazla bilgi edinmek için Cihazları sorgulama bölümünü inceleyin.
Not: Emülatör, 5554 ile 5585 arasındaki bağlantı noktalarındaki bağlantıları dinler ve yalnızca localhost
kaynaklı bağlantıları kabul eder.
Konsol komutlarını girebilmeniz için emülatör konsolu kimlik doğrulaması gerektirir. 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 jetonunu içeren dosyayı oluşturur. Kimlik doğrulamayı devre dışı bırakmak için jetonu .emulator_console_auth_token
dosyasından silin veya jeton 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
girin.
Örnek bir oturum aşağıda 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 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 try 'help <command>' for command-specific help OK exit Connection closed by foreign host.
Emülatör komut referansı
Aşağıdaki tabloda emülatör konsolu komutları, parametreleri ve değerleriyle birlikte açıklanmaktadır:
Genel komutlar | Açıklama |
---|---|
avd {stop|start|status|name}
|
Sanal cihazı aşağıdaki şekilde sorgular, kontrol eder ve yönetir:
|
avd snapshot {list|save name|load name|delete
name}
|
Cihaz durumunu aşağıdaki şekilde anlık görüntülere kaydeder ve geri yükler:
Aşağıdaki örnekte avd snapshot save firstactivitysnapshot |
fold
|
Katlanabilir durumda ve açık durumda değilse cihazı daha küçük ekran yapılandırmasını görüntülemek için katlar. |
unfold
|
Katlanabilir durumda ve katlanmış durumda olan cihazı açarak daha büyük ekran yapılandırmasını görüntüler. |
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ü kilitle | Açıklama |
crash
|
Uygulama yürütülürken emülatörü kilitler. |
crash-on-exit |
Uygulama çıktığında emülatörü kilitler. |
Hata ayıklama etiketleri | Açıklama |
debug tags ...
|
Emülatörün belirli bölümlerinden 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 şekilde 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 bir GPS bağlantısı göndererek, bir emülatör içinde çalışan uygulamalara bildirilen coğrafi konumu ayarlar. Sanal cihaz çalışırken aşağıdaki |
|
geo fix longitude latitude [altitude] [satellites] [velocity]
|
Emülatöre basit bir GPS bağlantısı gönderir.
longitude ve latitude değerlerini ondalık derece cinsinden belirtin. Konumu belirlemek için kullanılacak satellites sayısını belirtmek için 1 ile 12 arasında bir sayı kullanın ve altitude değerini metre, velocity değerini de knot olarak belirtin.
|
geo nmea sentence
|
Öykünülen cihaza bir NMEA 0183 cümlesini, emüle edilmiş bir GPS modeminden gönderilmiş gibi gönderir. sentence için "$GP" yazın.
Şu anda yalnızca "$GPGGA" ve "$GPRCM" cümleleri desteklenmektedir. Aşağıdaki örnek, bir GPS alıcısı için zaman, konum ve düzeltme verilerini alan bir GPGGA (Küresel Konumlandırma Sistemi Verileri Düzeltme) 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ğda 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önderir. |
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ğerleri içeren 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 etkinliklerdir: 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Örneğin, güç düğmesine uzun basmayı simüle etmek üzere, keydown ve keyup için iki 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şlara basmaları simüle eden bir karakter dizesi gönderir. İleti bir UTF-8 dizesi olmalıdır. Unicode yayınları, mevcut cihaz klavyesine göre ters eşleştirilir ve desteklenmeyen karakterler sessizce silinir. |
Güç durumu denetimleri | Açıklama |
power display
|
Pil ve şarj cihazının 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ığını ayarlar. |
power capacity percent
|
Kalan pil kapasitesi durumunu 0 ile 100 arasında bir yüzde olarak ayarlar. |
Ağ bağlantısı durumu | Açıklama |
network status
|
Ağ durumunu, mevcut gecikme ve hız özelliklerini kontrol eder. |
network delay latency
|
Emüle edilen ağ gecikmesini değiştirir. Emülatör, çeşitli ağ gecikme düzeylerini simüle etmenizi sağlar. Böylece uygulamanızı gerçek çalışma koşullarının daha tipik olduğu bir ortamda test edebilirsiniz. Emülatör başlatılırken bir gecikme düzeyi veya aralık ayarlayabilir ya da uygulama emülatörde çalışırken gecikmeyi değiştirmek için konsolu kullanabilirsiniz. latency ağının biçimi şunlardan biridir (sayılar milisaniyedir): Ağ gecikmesi biçimi:
Emülatör başlangıcında gecikme ayarlamak için önceki Ağ gecikmesi biçimi listesinde gösterildiğ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 listesinde yer alan 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 bir aktarım hızı veya aralık ayarlayabilir ya da uygulama emülatörde çalışırken hızı değiştirmek için konsolu kullanabilirsiniz.
Ağ hızı biçimi:
Emülatör başlatılırken ağ hızını 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 listesinde yer alan 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ü, emülatördeki telefon işlevlerini simüle etmenizi sağlayan kendi GSM ve CDMA emülasyonlu modemlerini içerir. Örneğin, GSM ile gelen telefon aramalarını simüle edebilir, veri bağlantıları kurup sonlandırabilirsiniz. CDMA ile bir abonelik kaynağı ve tercih edilen dolaşım listesi sağlarsınız. Android sistemi, simüle edilen aramaları tıpkı gerçek çağrılar gibi işler. Emülatör, arama sesini desteklemez. | |
gsm {call|accept|cancel|busy} phonenumber
|
gsm parametreleri aşağıdaki gibidir:
|
gsm {data|voice} state
|
data state komutu, GPRS veri bağlantısının durumunu, data voice state komutu ise GPRS sesli bağlantısının durumunu aşağıdaki gibi değiştirir:
|
gsm hold
|
Bir aramanın durumunu hold olarak değiştirir. Bir çağrı durumunu yalnızca geçerli durumu active veya waiting olduğunda hold olarak değiştirebilirsiniz.
|
gsm list
|
Tüm gelen ve giden aramaları ve bunların durumlarını listeler. |
gsm status
|
Geçerli GSM ses/veri durumunu bildirir. Değerler, voice ve data komutları için açıklananlardır.
|
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 bu abonelerin değerlerini içeren ağ tabanlı bir izin verilenler listesidir. Örneğin:
|
cdma prl_version version
|
Tercih edilen mevcut dolaşım listesi (PRL) sürümünün dökümünü alır. Sürüm numarası, sistem seçimi ve edinme sürecinde kullanılan bilgileri içeren PRL veritabanı içindir. |
Emülatördeki sensörleri yönet | Açıklama |
Bu komutlar, ortalama görüntüleme süresinde hangi sensörlerin bulunduğuyla ilgilidir. Emülatördeki ayarları, sensor komutunu kullanmanın yanı sıra İvme ölçer ve Ek sensörler sekmelerindeki Sanal sensörler ekranında görüp düzenleyebilirsiniz.
|
|
sensor status |
Tüm sensörleri ve durumlarını listeler. Aşağıda, sensor status komutu için ö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 üst üste(:) ile ayrılan |
sensor set sensor-name value-x:value-y:value-z
|
sensor-name değerlerini ayarlar. Aşağıdaki örnekte ivme sensörü iki nokta ile ayrılmış x, y ve z değerlerine ayarlanmaktadı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 bunların değerleri açıklanmaktadır:
Aşağıdaki örnekte 4085555555 telefon numarasına "merhaba" mesajı gönderilmektedir: sms send 4085555555 hi there Konsol, SMS mesajını Android çerçevesine yönlendirir. Bu çerçeve, mesajı SMS işleyen bir emülatörde (ör. Mesajlar uygulaması) bir uygulamaya iletir. 10 numara iletirseniz uygulama bunu telefon numarası olarak biçimlendirir. Daha uzun veya daha kısa sayısal dizeler, bunları ne şekilde gönderdiğinizi gösterir.
|
Parmak izi simülasyonu | Açıklama |
finger touch fingerprint-id
|
Bir parmağın sensöre dokunmasını simüle eder. |
finger remove
|
Parmak kaldırma işlemini simüle eder.
Bu komutların nasıl kullanılacağıyla ilgili talimatlar için parmak izi simülasyonu ve doğrulama konulu aşağıdaki bölüme bakın. |
Parmak izi simülasyonu ve doğrulama
Uygulamanızda parmak izi kimlik doğrulamasını simüle etmek ve doğrulamak için finger
komutunu kullanın. SDK Araçları 24.3 veya sonraki sürümler ile Android 6.0 (API düzeyi 23) veya sonraki sürümlere ihtiyacınız vardır.
Parmak iziyle kimlik doğrulama simülasyonu yapmak ve doğrulamak için şu 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öre yeni bir parmak izi kaydedin.
- Uygulamanızı parmak iziyle kimlik doğrulama'yı kabul edecek şekilde ayarlayın. Bu kurulumu gerçekleştirdikten sonra cihazınızda parmak izi kimlik doğrulama ekranı görüntülenir.
- Uygulamanız parmak izi kimlik doğrulama ekranını görüntülerken konsola gidip
finger touch
komutunu ve oluşturduğunuz parmak izi kimliğini girin. Bu özellik, parmakla dokunmayı simüle eder. - Ardından, parmak kaldırma işlemini simüle etmek için
finger remove
komutunu girin.Uygulamanız, bir kullanıcı parmağını parmak izi sensörüne dokunduktan sonra kaldırmış gibi yanıt vermelidir.