Emülatör konsol komutları gönderme

Çalışan her sanal cihaz, emüle edilen içeriği sorgulayabileceğiniz ve kontrol edebileceğiniz cihaz ortamına geçin. Örneğin, bağlantı noktası yönlendirmesi ve ağ bağlantısı ayarlarını yönetmek için konsolu kullanabilirsiniz. özelliklerini ve telefon etkinliklerini görebilirsiniz.

Aşağıdaki komutlar için zaten çalışan bir emülatörünüzün olması gerekir. Daha fazla öğrenmek için bkz. Uygulamaları Android Emülatör'de çalıştırın ve Emülatörü komut satırından başlatın.

Konsol oturumu başlatma ve durdurma

Konsola erişmek ve bir terminal penceresinden komut girmek için telnet tuşunu kullanarak konsol bağlantı noktasına bağlanın ve kimlik doğrulama jetonunuzu sağlayın. Konsolda Tamam, komutları kabul etmeye hazır. Tipik bir istem yok.

Çalışan bir sanal cihazın konsoluna bağlanmak için:

  1. Bir terminal penceresi açın ve aşağıdaki komutu girin:
  2. telnet localhost console-port

    Emülatör pencere başlığı, ayrı bir pencerede çalışırken konsol bağlantı noktası numarasını listeler ancak zaman çizelgesine uyamazsınız. Ö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 bir çalışan sanal cihazların listesi ve bunların konsol bağlantı noktası numaraları. Daha fazla bilgi için bkz. Cihazlar için sorgu.

    Not: Emülatör, 5554-5585 arasındaki bağlantı noktalarındaki bağlantıları dinler. ve yalnızca localhost kaynağından bağlantı kabul ediyor.

  3. Konsolda OK gösterildikten sonra auth auth_token komutunu girin.
  4. Konsol komutlarını girmeden önce emülatör konsolu kimlik doğrulama gerektirir. auth_token ile ana dizininizdeki .emulator_console_auth_token dosyasının içeriğiyle eşleşmesini sağlayabilirsiniz.

    Böyle bir dosya yoksa telnet localhost console-port komutu, rastgele oluşturulmuş bir kimlik doğrulama jetonu içeren dosyayı oluşturur. Devre dışı bırakmak için kimlik doğrulaması için jetonu .emulator_console_auth_token dosyası yükleyin veya dosya yoksa boş bir dosya oluşturun.

  5. Konsola bağlandıktan sonra konsol komutlarını girin.
  6. help, help command veya help-verbose değerini girin konsol komutlarının bir listesini görebilir ve belirli uygulamalar hakkında komutlarının ikisine katlanır.

  7. Konsol oturumundan çıkmak için quit veya exit yazın.

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
    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, emülatör konsol komutları parametreleri ve değerleriyle birlikte açıklanmaktadır:

Tablo 1. Emülatör konsol komutları

Genel komutlar Açıklama
avd {stop|start|status|name} Sanal cihazı aşağıdaki şekilde sorgular, kontrol eder ve yönetir:
  • stop: Cihazın yürütülmesini durdurur.
  • start: Cihazın yürütülmesini başlatır.
  • status: Sanal cihaz durumunu sorgular. Bu değer, running olabilir. veya stopped.
  • name: Sanal cihaz adını sorgular.
avd snapshot {list|save name|load name|delete name} Cihaz durumunu aşağıdaki gibi anlık görüntülere kaydeder ve geri yükler:
  • list: Kaydedilen tüm anlık görüntüleri listeler.
  • save name: Anlık görüntüyü name olarak kaydeder.
  • load name: Adlandırılmış anlık görüntüyü yükler.
  • delete name: Adlandırılmış anlık görüntüyü siler.

Aşağıdaki örnekte firstactivitysnapshot:

avd snapshot save firstactivitysnapshot
fold Cihaz katlanabilirse ve daha küçük ekran yapılandırmasını göstermek için cihazı katlar şu anda açılmış durumda.
unfold Cihaz katlanabilirse ve daha büyük ekran yapılandırmasını göstermek için cihazı açar şu anda katlanmış.
kill Sanal cihazı sonlandırır.
ping Sanal cihazın çalışıp çalışmadığını kontrol eder.
rotate AVD'yi 45 derecelik artışlarla saat yönünün tersine döndürür.
Emülatörü kilitle Açıklama
crash Uygulama yürütülürken emülatörü kilitler.
crash-on-exit Uygulamadan çı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, şu durumlarda görünen hata ayıklama etiketleri listesindeki bir değer olmalıdır: emulator -help-debug-tags yürütmeniz gerekir. Daha fazla bilgi için -help-debug-tags seçeneği için aşağıdaki tabloya bakın sık kullanılan seçenekler hakkında daha fazla bilgi edinin.

Aşağıdaki örnekte radio etiketi etkinleştirilir:

debug radio
Bağlantı noktası yönlendirmesi Açıklama
redir list Geçerli 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:
  • protocol: tcp olmalıdır veya udp.
  • host-port: Ana makinede açılacak bağlantı noktası numarasıdır.
  • guest-port: emülatörü kullanın.
redir del protocol:host-port Bir bağlantı noktası yönlendirmesini siler.
  • protocol: tcp olmalıdır veya udp.
  • host-port: Ana makinede açılacak bağlantı noktası numarasıdır.
Coğrafi konum Açıklama

Bir emülatör içinde çalışan uygulamalara bildirilen coğrafi konumu ayarlar göndererek emülatöre bir GPS düzeltmesi gönderebilirsiniz.

Aşağıdaki geo komutlardan birini, sanal bir cihaz çalışıyor. Emülatör, sahte bir konum sağlayıcı oluşturarak girdiğiniz konumu ayarlar. Bu Sağlayıcı, uygulamalar tarafından ayarlanan konum dinleyicilerine yanıt verir ve LocationManager. Herhangi bir uygulama, emüle edilen cihazın mevcut GPS sabitlemesini elde etmek için konum yöneticisini sorgulayabilir telefonla arayarak LocationManager.getLastKnownLocation("gps")

geo fix longitude latitude [altitude] [satellites] [velocity] Emülatöre basit bir GPS düzeltmesi gönderir. longitude ve latitude değerlerini belirtin ondalık derece cinsinden girebilirsiniz. 1 ila 12 arasında bir sayı kullanarak Konumu belirlemek için satellites, ve metre olarak altitude belirtin ve knot velocity.
geo nmea sentence Taklit edilen cihaza, emülasyonlu bir cihazdan gönderilmiş gibi bir NMEA 0183 cümlesi gönderir GPS modem'e gidin. sentence uygulamasını "$GP" ile başlatın. Yalnızca '$GPGGA' ve "$GPRCM" cümleler şu anda desteklenmektedir. Aşağıdaki örnek GPGGA (Global Konumlandırma Sistemi Düzeltme Verileri) cümlesi GPS alıcısı için zaman, konum ve düzeltme verileri:
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 etkinlikler için kod sayısı şurada listelenir: parantezin içinde olmalıdır.

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ı kod ve kod değerleriyle birlikte bir veya daha fazla sahte etkinlik gönderir.

Tam olarak hangi etkinliğin gönderileceğini öğrenmek için şu anda adb komutunu kullanabilirsiniz: emülatördeki düğmelere elle basılması.

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
      
Örneğin, güç düğmesine uzun basmayı simüle etmek için keydown ve keyup için iki EV_KEY etkinliği:
event send EV_KEY:KEY_POWER:0
OK
event send EV_KEY:KEY_POWER:1
OK
      

event text message Tuşları simüle eden bir karakter dizesi gönderir. Bu ileti bir UTF-8 dizesi olmalıdır. Unicode yayınları, geçerli cihaz klavyesine göre ters eşlenir ve desteklenmez 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 şekilde 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 kapasitesini ayarlar değeri 0 ile 100 arasında bir yüzdeyle ifade eder.
Ağ bağlantısı durumu Açıklama
network status Ağ durumunun yanı sıra 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ğ gecikmesi düzeylerini simüle etmenizi sağlar. Böylece bir ortamda çalışmasını sağlamalısınız. Şunları yapabilirsiniz: emülatör başlangıcında bir gecikme seviyesi veya aralık ayarlayabilir ya da konsolu ile uygulama emülatörde çalışırken gecikmeyi değiştirin.

latency ağının biçimi aşağıdakilerden biridir (sayılar milisaniyedir):

Ağ gecikmesi biçimi:

  • gprs: Minimum 150 ve maksimum 550 gecikme aralığı kullanan GPRS.
  • edge: Minimum 80 ve maksimum 400 gecikme aralığı kullanan EDGE/EGPRS.
  • umts: UMTS/3G, minimum 35 ve maksimum 200 gecikme aralığı kullanır.
  • none: Gecikme yok.
  • num: Belirtilen gecikmeyi milisaniye cinsinden emüle eder.
  • min:max: Belirtilen gecikme aralığının emülasyonunu yapar.

Emülatör başlangıcında gecikmeyi ayarlamak için -netdelay kullanın emülatör seçeneğiyle önceki Ağ gecikmesinde listelendiği gibi, latency değerini destekler biçim listesi. Aşağıda bazı örnekler verilmiştir:

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 netdelay komutunun başından desteklenen bir latency önceki Ağ gecikmesi biçimi listesinde.

network delay gprs
network delay 40 100
network speed speed Emülatör, çeşitli ağ aktarım hızlarını simüle etmenizi sağlar.

Emülatör başlangıcında bir aktarım hızı veya aralığı ayarlayabilir ya da konsolu kullanarak Uygulama emülatörde çalışırken hızı değiştirme.

speed ağının biçimi aşağıdakilerden biridir (sayılar kilobit/sn'dir):

Ağ hızı biçimi:

  • gsm: GSM/CSD, 14,4 yukarı ve 14,4 aşağı hız kullanır.
  • hscsd: HSCSD, 14,4 yukarı ve 43,2 aşağı hız kullanıyor.
  • gprs: 40,0 yukarı ve 80,0 aşağı hız kullanan GPRS.
  • edge: EDGE/EGPRS, 118,4 artış ve 236,8 aşağı hız kullanır.
  • umts: UMTS/3G, 128,0 yukarı ve 1920 aşağı hız kullanır.
  • hsdpa: 348, 0 yukarı ve 14.400,0 aşağı hız kullanan HSDPA.
  • lte: LTE, 58.000 yukarı ve 173.000 aşağı hız kullanır.
  • evdo: EVDO, 75.000 yukarı ve 280.000 aşağı hız kullanır.
  • full: Sınırsız hız, ancak kullandığınız cihazın bağlantı hızına bağlıdır. hoş geldiniz.
  • num: Her iki yükleme için kullanılan kilobit/sn cinsinden kesin hızı ayarlar ve indirin.
  • up:down: Şunun için kilobit/sn cinsinden tam oranları ayarlar: yükleme ve indirme işlemlerini yapabilirsiniz.

Emülatör başlangıcında ağ hızını ayarlamak için -netspeed işlevini kullanın emülatör seçeneğiyle önceki Ağ hızı biçiminde olduğu gibi speed değerini destekler liste'ye dokunun. Aşağıda bazı örnekler verilmiştir:

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 network speed komutunu desteklenen bir Önceki Ağ hızı biçimi listesinden speed değeri.

network speed 14.4 80
network capture {start|stop} file Paketleri bir dosyaya gönderir. Aşağıdaki listede, parametreler ve parametre değerleri:
  • start file: Belirtilen dosyaya paket göndermeye başlar.
  • stop file: Belirtilen dosyaya paket göndermeyi durdurur.
Telefon emülasyonu Açıklama
Android emülatörü, telefon işlevlerini simüle etmenizi sağlayan kendi GSM ve CDMA emülasyonlu modemlerini içerir emülatördeki fonksiyonları girin. Örneğin, GSM ile, gelen telefon aramalarını simüle edebilir ve ve veri bağlantılarını sonlandırır. CDMA ile bir abonelik kaynağı ve tercih ettiğiniz dolaşım listesi. Android sistemi, simüle edilmiş aramaları tıpkı gerçek aramalar gibi işler. İlgili içeriği oluşturmak için kullanılan emülatör, arama sesini desteklemiyor.
gsm {call|accept|cancel|busy} phonenumber gsm parametreleri şunlardır:
  • call: Gelen telefon aramasını simüle eder phonenumber başlangıç fiyatıyla.
  • accept: phonenumber numaralı telefondan gelen aramayı kabul eder ve çağrı durumunu active olarak değiştirir. Şunları yapabilirsiniz: bir çağrının durumunu yalnızca şu olduğunda active olarak değiştirin: geçerli durum waiting veya held.
  • cancel: Gelen veya giden telefon aramasını sonlandırır phonenumber numaralı telefona sesli arama.
  • busy: Şu numaraya giden aramayı kapatır: phonenumber ve çağrı durumunu busy olarak değiştirir. Bir çağrının durumunu yalnızca geçerli durumu şu olduğunda busy olarak değiştirebilirsiniz: waiting.
gsm {data|voice} state data state komutu, GPRS veri bağlantısının durumunu değiştirir. ve data voice state komutu GPRS sesinin durumunu değiştirir aşağıdaki gibidir:
  • unregistered: Kullanılabilir ağ yok.
  • home: Yerel ağda, dolaşım dışında.
  • roaming: Dolaşım ağında.
  • searching: Ağlar aranıyor.
  • denied: Yalnızca acil durum aramaları için kullanılır.
  • off: unregistered ile aynıdır.
  • on: home ile aynıdır.
gsm hold Bir çağrının durumunu hold olarak değiştirir. Bu ayarı değiştirmek için çağrı durumunu yalnızca geçerli durumu active olduğunda hold olarak ayarlayın waiting.
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çıklandı.
gsm signal {rssi|ber} Sonraki 15'te bildirilen sinyal gücünü (rssi) ve bit hata hızını (ber) değiştirir saniye cinsinden güncelleme. Aşağıdaki listede parametreler ve değerleri açıklanmaktadır:
  • rssi aralığı 0-31 ve bilinmiyor için 99'dur.
  • ber aralığı, bilinmiyor için 0-7 ve 99'dur.
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ı belirler. Burada source, şunları içeren ağ tabanlı bir izin verilenler listesidir: CDMA operatörünün aboneleri ve değerleri aşağıdaki gibidir:
  • nv: Değişken olmayan RAM'den aboneliği okur.
  • ruim: Çıkarılabilir Kullanıcı Kimlik Modülü'ndeki (RUIM) aboneliği okur.
cdma prl_version version Tercih edilen geçerli dolaşım listesi (PRL) sürümünü atar. Sürüm numarası PRL içindir sırasında kullanılan bilgileri içeren veritabanıdır.
Emülatördeki sensörleri yönet Açıklama
Bu komutlar AVD'de hangi sensörlerin bulunduğunu öğrenin. sensor komutunu kullanmanın yanı sıra Sanal sensörler ekranındaki emülatördeki ayarları görüp İvme ölçer ve Ek sensörler sekmelerinde.
sensor status Tüm sensörleri ve durumlarını listeler. Aşağıda sensor status komutu:
sensor get sensor-name sensor-name ayarlarını alır. Aşağıdaki örnek, ivme sensörünün değeri:
sensor get acceleration
acceleration = 2.23517e-07:9.77631:0.812348

İki nokta üst üste(:) ile ayrılmış acceleration değerleri x, y ve z'yi ifade eder koordinatlarıyla birlikte çalışır.

sensor set sensor-name value-x:value-y:value-z sensor-name değerlerini ayarlar. Aşağıdaki örnek, x, y ve z değerlerine ivme sensörü iki nokta ile ayırın.
sensor set acceleration 2.23517e-07:9.77631:0.812348
SMS emülasyonu Açıklama
sms send sender-phone-number textmessage Gelen SMS emülasyonu oluşturur. Aşağıdaki listede, parametreler ve aşağıdaki adımları izleyin:
  • sender-phone-number: Rastgele bir sayısal dize içerir.
  • textmessage: SMS mesajı.

Aşağıdaki örnekte "merhaba, oraya" mesajı gönderilmektedir 4085555555 telefon numarasına gönderebilirsiniz:

sms send 4085555555 hi there

Konsol, SMS mesajını Android çerçevesine iletir ve uygulamanız (ör. Mesajlar uygulaması) hakkında daha fazla bilgi edinebilirsiniz. 10 numarayı geçerseniz telefon numarası olarak biçimlendirir. Daha uzun veya daha kısa sayısal dizeler geri bildirimde bulunursunuz.

Parmak izi simülasyonu Açıklama
finger touch fingerprint-id Sensöre dokunan bir parmağı simüle eder.
finger remove Parmakla kaldırma simülasyonu sağlar.

Bu komutların nasıl kullanılacağıyla ilgili talimatlar için aşağıdaki bölüme bakın: parmak izi simülasyonu ve doğrulaması.

Parmak izi simülasyonu ve doğrulaması

Şekil 1. Parmak izi kimlik doğrulama ekranı.

finger komutunu kullanarak hesabınız için parmak izi kimlik doğrulamasını simüle edip doğrulayın uygulamasını indirin. SDK Araçları 24.3 veya sonraki sürümler ile Android 6.0 (API düzeyi 23) veya sonraki sürümler gerekir.

Parmak izi kimlik doğrulamasını simüle etmek ve doğrulamak için aşağıdaki adımları izleyin:

  1. Henüz parmak izi kimliğiniz yoksa emülatöre yeni bir parmak izi kaydedin Ayarlar > Güvenlik > Parmak izi ve kayıt talimatlarına göz atın.
  2. Uygulamanızı kabul edecek şekilde ayarlayın parmak izi kimlik doğrulama. Bu kurulumu gerçekleştirdikten sonra cihazınız parmak izini gösterir kimlik doğrulama ekranını seçin.
  3. Uygulamanızda parmak iziyle kimlik doğrulama ekranı gösterilirken konsola gidip finger touch komutunu ve oluşturduğunuz parmak izi kimliğini girin. Bu bir parmak dokunuşunu simüle eder.
  4. Ardından, parmakla kaldırma simülasyonu için finger remove komutunu girin.

    Uygulamanız, bir kullanıcı parmağını parmak izi sensöründe zorlanır.