Emülatör konsol komutları gönderme

Ç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 telefon 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 Uygulamaları Android Emülatör'de ç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 konsol bağlantı noktasına bağlanmak üzere telnet'i kullanı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:

  1. Bir terminal penceresi açıp aşağıdaki komutu girin:

    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, 5554 numaralı konsol bağlantı noktasını 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'tan gelen bağlantıları kabul eder.

  2. Konsolda OK mesajı gösterildikten sonra auth auth_token komutunu girin.

    Konsol komutları girebilmeniz için önce emülatör konsolunun kimliğinin doğrulanması gerekir. auth_token, ana dizininizdeki .emulator_console_auth_token dosyasının içeriğiyle eşleşmelidir.

    Bu dosya yoksa 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.

  3. Konsola bağlandıktan sonra konsol komutlarını girin.

    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.

  4. Konsol oturumundan çıkmak için quit veya exit 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.

Tek seferlik komutlar

Oturumun açık kalmasına gerek yoksa adb emu kısayolunu kullanın. Bu kısayol, komutu yürütür ve kontrolü hemen çağıran kabuğa döndürür:

adb emu command commandParameter

adb emu ile çağırma işlemi, kullanılabilir emülatöre bağlanır. Aynı anda birden fazla emülatör çalıştırıyorsanız hedeflediğiniz emülatörün seri numarasını iletmeniz gerekir:

adb -s emulator-serial emu command commandParameter

Emülatör komut referansı

Aşağıdaki listelerde, parametreleri ve değerleriyle birlikte emülatör konsolu komutları açıklanmaktadır:

Genel komutlar

  • avd {stop| start| status| name} Sanal cihazı aşağıdaki gibi 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: Çalışıyor veya durdurulmuş olabilen sanal cihaz durumunu sorgular.
    • name: Sanal cihaz adını sorgular.
  • 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:

    • list: Kaydedilen tüm anlık görüntüleri listeler.
    • save name: Anlık görüntüyü ad 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 adlı bir anlık görüntü kaydedilmektedir:

    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

  • 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

  • debug tags ...: Emülatörün belirli bölümlerinden gelen hata ayıklama mesajlarını etkinleştirir veya devre dışı bırakır. Etiket parametresi, emulator -help-debug-tags komutunu çalıştırdığınızda görünen hata ayıklama etiketleri listesindeki bir değer olmalıdır. -help-debug-tags seçeneği hakkında daha fazla bilgi için sık kullanılan seçenekler tablosuna bakın. Aşağıdaki örnekte radyo etiketi etkinleştirilir:

    debug radio
    

Bağlantı noktası yönlendirmesi

  • 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 veya udp olmalıdır.
    • host-port: Ana makinede açılacak bağlantı noktası numarası.
    • guest-port: Verilerin emülatörde yönlendirileceği bağlantı noktası numarası.
  • redir del protocol:host-port Bağlantı noktası yönlendirmesini siler.

    • protocol: tcp veya udp olmalıdır.
    • host-port: Ana makinede açılacak bağlantı noktası numarası.

Coğrafi konum

Bir emülatörde çalışan uygulamalara bildirilen coğrafi konumu, emülatöre GPS düzeltmesi göndererek ayarlar.

Sanal cihaz çalışır çalışmaz aşağıdaki coğrafi komutlardan birini verebilirsiniz. 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 konumu LocationManager'a sağlar. Herhangi bir uygulama, konum yöneticisine sorgu göndererek LocationManager.getLastKnownLocation("gps") çağrısını yaparak emüle edilmiş cihazın mevcut GPS düzeltmesini alabilir.

  • geo fix longitude latitude [altitude] [satellites] [velocity]: Emülatöre basit bir GPS düzeltmesi gönderir. Boylam ve enlemi ondalık derece cinsinden belirtin. Konumu belirlemek için kullanılacak uydu sayısını belirtmek üzere 1 ile 12 arasında bir sayı kullanın ve yüksekliği metre, hızı 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. Cümleye "$GP" 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

Emülatör konsolunun donanım etkinliği alt sistemi, cihazla neredeyse her türlü fiziksel etkileşimi simüle etmenize olanak tanır. Buna fiziksel düğmeler, ekrana dokunma/hareketler, döner düğmeler, joystick girişleri ve donanım anahtarları dahildir.

  • Etkinlik türleri: Tüm sahte etkinlik türlerini listeler. Kod içeren etkinliklerde kod sayısı sağ tarafta parantez içinde listelenir. Örnek çıkış:

    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üyle ilgili 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.

EV_KEY — Key Code References

EV_KEY etkinlik türü, düğmeye basma ve düğmeyi bırakma işlemlerini simüle etmek için kullanılır. Aşağıdaki tablolarda, desteklenen anahtar kodlarının geniş listesi mantıksal kategorilere ayrılmıştır. Her tuş kodu için 1 değeri göndermek tuşa basmayı, 0 değeri göndermek ise tuşu bırakmayı simüle eder. 2 değeri, tuş tekrarını gösterir.

Alt tablo A: Android Sistem Anahtarları
Kod Açıklama
KEY_HOME Ana sayfa düğmesi tetikleyicisi
KEY_BACK Geri düğmesi tetikleyicisi
KEY_MENU Menü (taşma) düğmesi
KEY_POWER Güç düğmesi (basma/uzun basma)
KEY_VOLUMEUP Sesi artırma düğmesi tetikleyicisi
KEY_VOLUMEDOWN Sesi azaltma düğmesi tetikleyicisi
KEY_CAMERA Fiziksel kamera deklanşör düğmesi
KEY_FOCUS Kameranın otomatik odaklama deklanşörü
KEY_SEARCH Arama düğmesi tetikleyicisi
KEY_SLEEP Uyku komutu tetikleyicisi
KEY_WAKEUP Uyandırma komutu tetikleyicisi
KEY_NOTIFICATION Bildirim çekmecesini açma
KEY_MUTE Sistem ses çıkışını kapatma
KEY_MICMUTE Mikrofon girişinin sesini kapatma
KEY_BRIGHTNESSDOWN Ekran parlaklığını azaltma
KEY_BRIGHTNESSUP Ekran parlaklığını artırma
KEY_PHONE Varsayılan çevirici uygulamasını açma
KEY_SEND Telefon araması gönderme veya başlatma
KEY_HEADSETHOOK Mikrofonlu kulaklık kancası (yanıtlama/kapatma)
KEY_SCREEN Ekran koruyucuyu etkinleştirme komutu
KEY_CONFIG Yapılandırma sistemi menüsü
KEY_SWITCHVIDEOMODE Sistemin video modunu değiştirme
KEY_KBDILLUMTOGGLE Klavye aydınlatmasını açma/kapatma
B Alt Tablosu: Medya ve Oynatma Kontrolleri
Kod Açıklama
KEY_PLAYPAUSE Oynatma ve duraklatma durumunu değiştirme
KEY_PLAY Medya oynatmayı başlatma
KEY_PAUSECD CD oynatmayı duraklatma
KEY_STOPCD CD oynatmayı durdurma
KEY_NEXTSONG Sonraki parçaya geçme
KEY_PREVIOUSSONG Önceki parçaya atlama
KEY_REWIND Etkin parçayı geri sarma
KEY_FASTFORWARD Etkin parçayı hızlı ileri sarma
KEY_RECORD Tetikleyici komutunu kaydetme
KEY_SHUFFLE Karıştırarak oynatmayı açma/kapatma
KEY_REPEAT Tekrar oynatmayı açma/kapatma
KEY_MEDIA Medya tuşu tetikleyicisi
Alt tablo C: Gezinme ve Genel Klavyeler
Kod Açıklama
KEY_UP D-pad Yukarı yönü
KEY_DOWN D-pad Aşağı yönü
KEY_LEFT D-pad sol yönü
KEY_RIGHT D-pad sağ yönü
KEY_PAGEUP Önceki sayfaya gitme
KEY_PAGEDOWN Sonraki sayfaya gitme
KEY_INSERT Anahtar tetikleyici ekleme
KEY_DELETE Tuş tetikleyicisini silme
KEY_ENTER Enter tuşu tetikleyicisi
KEY_ESC Escape tuşu tetikleyicisi
KEY_TAB Sekme tuşu tetikleyicisi
KEY_SPACE Boşluk tuşu tetikleyicisi
KEY_BACKSPACE Geri tuşu tetikleyicisi
KEY_CLEAR Giriş arabelleğini temizleme
KEY_CANCEL Etkin işlemi iptal etme
KEY_OK Seçimi onaylama
KEY_SELECT Öğe tetikleyiciyi seçin
KEY_GOTO Belirlenen yere gitme
KEY_HELP Yardım içeriğine erişme
Alt tablo D: Alfanümerik Karakterler ve Tuş Takımı Sembolleri
  • Standart alfabe harfleri: KEY_A ile KEY_Z arası (26 kod).
  • Sayısal tuş takımı tuşları: KEY_1 ile KEY_0 arası (10 kod).
Kod Karakter Sembolü
KEY_COMMA ,
KEY_DOT .
KEY_SLASH /
KEY_SEMICOLON ;
KEY_APOSTROPHE '
KEY_GRAVE \`
KEY_MINUS -
KEY_EQUAL =
KEY_LEFTBRACE [
KEY_RIGHTBRACE ]
KEY_BACKSLASH \
KEY_KPASTERISK * (Sayısal tuş takımı)
KEY_KPPLUS + (Sayısal tuş takımı)
KEY_KPMINUS - (Sayısal tuş takımı)
KEY_KPDOT . (Sayısal tuş takımı)
KEY_KPSLASH / (Sayısal tuş takımı)
KEY_KPENTER Enter (Sayısal tuş takımı)
KEY_KPEQUAL = (Sayısal tuş takımı)
KEY_KPCOMMA , (Sayısal tuş takımı)
KEY_KPJPCOMMA , (Japonca düzen)
KEY_KPLEFTPAREN ( (Sayısal tuş takımı)
KEY_KPRIGHTPAREN ) (Sayısal tuş takımı)
KEY_KPPLUSMINUS ± (Sayısal tuş takımı)
Alt tablo E: Değiştirici ve işlev tuşları
  • Standart işlev tuşları: KEY_F1 ile KEY_F24 (24 kod).
Kod Açıklama
KEY_LEFTSHIFT Sol üst karakter klavye değiştiricisi
KEY_RIGHTSHIFT Sağ Shift klavye değiştiricisi
KEY_LEFTCTRL Sol Control klavye değiştiricisi
KEY_RIGHTCTRL Sağ kontrol klavye değiştiricisi
KEY_LEFTALT Sol Alt klavye değiştiricisi
KEY_RIGHTALT Sağ Alt klavye değiştiricisi
KEY_LEFTMETA Sol Meta/Command tuşu
KEY_RIGHTMETA Sağ Meta/Command tuşu
KEY_CAPSLOCK Caps Lock klavye geçişi
KEY_NUMLOCK Num Lock klavye geçişi
KEY_SCROLLLOCK Scroll Lock klavye açma/kapatma düğmesi
KEY_COMPOSE Compose Character Helper
KEY_FN Fiziksel klavyedeki FN tuşu
KEY_FN_ESC İşlev tuşu kombinasyonları
KEY_FN_1 Özel işlev kısayolu 1
KEY_FN_2 Özel işlev kısayolu 2
KEY_FN_D Özel işlev kısayolu D
KEY_FN_E Özel işlev kısayolu E
KEY_FN_F Özel işlev kısayolu F
KEY_FN_S Özel işlev kısayolu S
KEY_FN_B Özel işlev kısayolu B
Alt tablo F: Oyun Kumandaları ve Joystick'ler
Kod Açıklama
BTN_A / BTN_B / BTN_C Denetleyicinin A/B/C aksiyon düğmeleri
BTN_X / BTN_Y / BTN_Z Denetleyici aksiyon düğmeleri X/Y/Z
BTN_START Oyun kumandası Başlat menüsü düğmesi
BTN_SELECT Oyun kumandası seçme düğmesi
BTN_MODE Kontrol cihazı modu anahtarı
BTN_TL/BTN_TR Sol / sağ omuz bumper'ları
BTN_TL2/BTN_TR2 Sol / sağ analog tetikleyiciler
BTN_THUMBL/BTN_THUMBR Sol / sağ çubuk tıklamaları
BTN_DPAD_UP Oyun kumandası D-pad Yukarı tetikleyicisi
BTN_DPAD_DOWN Oyun kumandası D-pad Aşağı tetikleyicisi
BTN_DPAD_LEFT Oyun kumandası D-pad sol tetikleyici
BTN_DPAD_RIGHT Oyun kumandası D-pad sağ tetikleyici
BTN_THUMB Kontrol çubuğu birincil başparmak tetikleyicisi
BTN_TOP/BTN_TOP2 Kontrol çubuğu üst düğmeleri
BTN_PINKIE Kontrol çubuğu küçük parmak düğmesi tetikleyicileri
BTN_BASE - _BASE6 Kontrol çubuğu platform tabanı düğmeleri
BTN_DEAD Etkin olmayan oyun kumandası ölü bölge işareti
BTN_TRIGGER Fiziksel joystick el tetikleyicisi
BTN_JOYSTICK Genel joystick giriş kodu
Alt Tablo G: Fare, Dokunma ve Kalem Girişleri
Kod Açıklama
BTN_MOUSE Genel fare işaretçisi etkinliği
BTN_LEFT Sol fare düğmesi tıklaması
BTN_RIGHT Sağ fare düğmesiyle tıklama
BTN_MIDDLE Orta kaydırma tekerleği tıklaması
BTN_SIDE Gezinme yan tuşu tetikleyicisi
BTN_EXTRA Ekstra fare düğmesi tetikleyicisi
BTN_FORWARD Tarayıcıda ileri gezinme tıklaması
BTN_BACK Tarayıcıda geri gezinme tıklaması
BTN_TASK Sistem görev değiştirici tuşu
BTN_TOUCH Ekrana fiziksel temas algılandı
BTN_STYLUS Aktif ekran kalemi yakınlığı
BTN_STYLUS2 Kalemdeki ikincil gövde anahtarı
BTN_TOOL_PEN Ekran kalemi aracı tanımlayıcısı
BTN_TOOL_RUBBER Ekran kalemi silgi aracı tanımlayıcısı
BTN_TOOL_BRUSH Painter fırça aracı tanımlayıcısı
BTN_TOOL_PENCIL Kalem aracı tanımlayıcısı
BTN_TOOL_AIRBRUSH Airbrush paint tool identifier
BTN_TOOL_FINGER Dokunmatik ekrana parmakla dokunma
BTN_TOOL_MOUSE Harici fare aracı tanımlayıcısı
BTN_TOOL_LENS Optik büyüteç lens aracı
BTN_TOOL_DOUBLETAP Hareketle iki kez dokunma hızını işaretleme
BTN_TOOL_TRIPLETAP Üç kez dokunma hareketi hız işareti
H alt tablosu: Uygulama Kısayolları
Kod Hedef İşlem
KEY_WWW Varsayılan web tarayıcısını başlatır.
KEY_MAIL Varsayılan e-posta istemcisini açar.
KEY_BOOKMARKS Tarayıcı yer işaretleri listesini açar
KEY_CALC Hesap makinesi yardımcı programını açar.
KEY_FILE Yerel dosyaları keşfetme aracını açar.
KEY_EDIT Doküman düzenleme tetikleyicisi
KEY_NEW Doküman oluşturma yeni tetikleyicisi
KEY_OPEN Belge açma tetikleyicisi
KEY_SAVE Dosya kaydetme görevi tetikleyicisi
KEY_CLOSE Dosya kapatma görevi tetikleyicisi
KEY_PRINT Dosya yazdırma görevi tetikleyicisi
KEY_COPY Pano tamponu kopyalama işlemi
KEY_PASTE Pano arabelleği ekleme işlemi
KEY_CUT Pano arabelleği kesme işlemi
KEY_UNDO Pano tamponu geri alma işlemi
KEY_REDO Pano arabelleği yeniden yapma işlemi
KEY_CANCEL Arabellek iptal işlemi tetikleyicisi
KEY_FIND Belge arama yardımcı programı
KEY_REFRESH Doküman yenileme yardımcı programı
KEY_EXIT Doküman kapatma yardımcı programı
KEY_DOCUMENTS Sistem belgeleri portalını başlatır.
KEY_HOMEPAGE Ana sayfa tarayıcısını başlatır.
KEY_FAVORITES Tarayıcı favorileri portalını açar.
KEY_CHAT Anlık mesajlaşma programını başlatır.
KEY_EMAIL Alternatif e-posta lansman tetikleyicisi
KEY_FINANCE Borsa/finans aracını açma
KEY_SPORT Spor izleme yardımcı programını açma
KEY_SHOP Dijital alışveriş portalını açma
KEY_PLAYER Birincil medya oynatıcıyı açma
KEY_MP3 Birincil MP3 çaları açma
KEY_TEXT Varsayılan metin düzenleyiciyi açma
KEY_LIST Kontrol listesi yardımcı programını açma
KEY_MEMO Not defteri / not yardımcı programını açma
KEY_CALENDAR Takvim / gündem portalını açar
KEY_DIRECTORY Sistemin adres dizinini açar.
KEY_COMPUTER Özellikler Gezgini'ni açar
KEY_TV/KEY_TV2 Televizyon portalını başlatır.
KEY_RADIO Radyo yardımcı programını başlatır.
KEY_CD/KEY_DVD Optik sürücü okuyucusunu etkinleştirir.
KEY_AUDIO/KEY_VIDEO Medya spesifikasyonlarına erişim
KEY_TUNER Alıcıları/tuner'ları yapılandırır
KEY_SAT/KEY_SAT2 Uydu feed'lerini yapılandırır.
KEY_TAPE Kasetli medya oynatıcıyı oynatma
KEY_VCR VCR oynatıcı feed'ini oynatma
KEY_VCR2 VCR 2 oynatıcı feed'ini oynat
KEY_AUX Yardımcı medya bağlantı noktası girişleri
KEY_SETUP Kurulum yapılandırma menüsü
KEY_PROG1 - _PROG4 Kullanıcı tanımlı program anahtarları
KEY_ZOOM Görüntü alanını yakınlaştırma düğmesi
KEY_MODE Görüntü alanı modu seçimi
KEY_KEYBOARD Sanal klavyeyi gösterme/gizleme
KEY_LANGUAGE Ses parçasının dilini değiştirme
KEY_TITLE Medya başlığı seçeneklerini açma
KEY_SUBTITLE Altyazı arayüzünü açma/kapatma
KEY_ANGLE Video kamera açılarını değiştirme
KEY_EPG Elektronik program rehberini açma
KEY_PVR Kişisel video kaydediciyi açma
KEY_MHP Açık multimedya ana platformu
KEY_CHANNEL TV frekans ayarlayıcı kanallarını açma
KEY_CHANNELUP TV kanalını yukarı ayarlama
KEY_CHANNELDOWN TV kanalını aşağı ayarlama
KEY_RED Kırmızı etkileşimli düğme
KEY_GREEN Yeşil etkileşimli düğme
KEY_YELLOW Sarı etkileşimli düğme
KEY_BLUE Mavi etkileşimli düğme
KEY_FIRST İlk öğe seçeneğini belirleyin
KEY_LAST Son öğe seçeneğini belirleyin
KEY_NEXT Sonraki parça seçeneğini belirleme
KEY_PREVIOUS Önceki parça seçeneğini belirleme
KEY_RESTART Medya parçası döngüsünü yeniden başlatma
KEY_SLOW Ağır çekimde oynatma seçeneği
KEY_AB A-B tekrarı dizisi döngüsü
KEY_PLAYCD CD çalar oynatma komutu
KEY_PAUSECD CD deck pause command
KEY_STOPCD CD çalar durdurma komutu
KEY_DIGITS Dijital tuş takımı giriş komutu
KEY_TEEN Tuş takımı genç değerleri seçeneği
KEY_TWEN Tuş takımı twen değerleri seçeneği
KEY_DEL_EOL Satır arabelleğinin sonuna kadar silme
KEY_DEL_EOS Ekran arabelleğinin sonuna kadar silme
KEY_INS_LINE Yeni satır arabelleği ekleme
KEY_BRL_DOT1 - _DOT8 Braille ekran düğmesi girişleri
KEY_VOICECOMMAND Sesli asistan uygulamasını başlatır.
KEY_SELECTIVE_SCREEN Bölgesel ekran alıntısı aracını tetikler.
KEY_BATTERY Pil bildirimlerini sorgular.
KEY_STAR/KEY_SHARP Telefon tuş takımı sembolleri
KEY_PLUS Telefon tuş takımı ve artı işareti
KEY_INFO Bilgi paneli yer paylaşımını göster
KEY_TIME Mevcut saat zamanını göster
KEY_VENDOR Tedarikçi spesifikasyonlarını sorgular
KEY_ARCHIVE Yerel arşiv yardımcı programını açar
KEY_PROGRAM Program parametrelerini yapılandırır.
KEY_POWER2 Yedek gücü tetikler

EV_ABS — Mutlak Hareket Etkinlikleri

EV_ABS etkinlik türü, hassas dokunmaları, sürükle ve bırak hareketlerini, çoklu dokunma ile sıkıştırma işlemlerini ve kontrol çubuğu ayarlamalarını simüle etmek için çok önemlidir. Haritanın altındaki mutlak koordinatlar, doğrudan temel fiziksel ekran çözünürlüğüne karşılık gelir.

Kod Koordinat aralığı Açıklama
ABS_MT_TRACKING_ID -1 veya ≥0 İzleme kimliği; -1 dokunmaya son verir
ABS_MT_POSITION_X 0 - 1767 X koordinatı (Pixel Fold)
ABS_MT_POSITION_Y 0 - 2207 Y koordinatı (Pixel Fold)
ABS_MT_TOUCH_MAJOR piksel Dokunma alanının büyük eksen genişliği
ABS_MT_TOUCH_MINOR piksel Dokunma alanının küçük eksen genişliği
ABS_MT_WIDTH_MAJOR piksel Aracın büyük eksen genişliği
ABS_MT_WIDTH_MINOR piksel Takımın kısa eksen genişliği
ABS_MT_ORIENTATION 0 - 255 Temas yönü açısı
ABS_MT_PRESSURE 0 - 255 Temas kuvveti büyüklüğü
ABS_MT_DISTANCE mm Ekrandan uzaklık
ABS_MT_TOOL_TYPE 0 - 2 0=parmak, 1=kalem, 2=kurşun kalem
ABS_MT_BLOB_ID Tam sayı Kişi blob tanımlayıcısı
ABS_MT_TOOL_X piksel Aracın X konumu koordinatı
ABS_MT_TOOL_Y piksel Aracın Y konumu koordinatı
ABS_MT_SLOT 0 - N Etkin yer (B Protokolü)
ABS_X / _Y / _Z analog Kontrol çubuğu koordinat eksenleri
ABS_RX / _RY / _RZ analog Kontrol çubuğu dönme eksenleri
ABS_THROTTLE/_BRAKE analog Pedallar ve direksiyon kontrolleri
ABS_HAT0X/_HAT0Y -1 / 0 / 1 D-pad şapka ve POV anahtarları
ABS_PRESSURE 0 - 255 Kalem / işaretçi kuvvet düzeyi
ABS_DISTANCE mm Üzerine gelme mesafesi (ekran kalemi)
ABS_TILT_X/_TILT_Y derece Ekran kalemi eğim açıları
ABS_VOLUME analog Kumanda ses seviyeleri

Android'deki dokunma etkileşimi, çoklu dokunma (MT) protokolleriyle sağlanır. Modern emülatörler hem A Protokolü'nü (durum bilgisiz, senkronizasyon işaretleriyle ayrılmış iletişim paketleri gönderir) hem de B Protokolü'nü (durum bilgili, kişileri özel izleme yuvalarına atar) uygular. B protokolü, yakınlaştırma gibi hareketler için birden fazla eşzamanlı dokunuşun verimli bir şekilde izlenmesine olanak tanır.

EV_REL ve EV_SW: Hareket ve donanım anahtarları

EV_REL etkinlik kategorisi, göreli işaretçi veya koordinat değişikliklerini yönetir. Bu kategori, öncelikle harici fare hareketlerini ya da kaydırma tekerleklerini taklit etmek için kullanılır. EV_SW etkinlik kategorisi, fiziksel cihaz anahtarlarını (ör. katlanabilir telefon veya tabletin katlanıp katlanmadığı ya da harici ses donanımının takılı olup olmadığı) yönetir.

Kod Değerler Açıklama
REL_X Delta Yatay imleç hareketi
REL_Y Delta Dikey imleç hareketi
SW_LID 0/1 Dizüstü bilgisayar kapağının durumu (0=Açık, 1=Kapalı)
SW_TABLET_MODE 0/1 Tablet modu durumu (0=Kapalı, 1=Etkin)
SW_HEADPHONE_INSERT 0/1 Kulaklık jakı durumu (0=Çıkış, 1=Giriş)
SW_MICROPHONE_INSERT 0/1 Mikrofon jakı durumu (0=Çıkış, 1=Giriş)
Komut Gönderme Söz Dizimi

Bu kodları göndermek için konsol komutunu iki nokta üst üste ile ayrılmış türler, kodlar ve değerlerle biçimlendirin. Tek bir dizede birden fazla koordinat değişikliğini sıraya alabilirsiniz. En önemlisi, emülatör çerçevesinin bu girişleri birlikte paketleyip işlemesi gerektiğini belirtmek için her zaman son bir senkronizasyon işareti (EV_SYN:0:0) ekleyin.

Etkinlik komut dosyası oluşturma ve hareket örnekleri

Telnet, çok parçalı parametrelerin gönderilmesine izin verdiğinden gerçekçi fiziksel hareket dizilerini simüle edebilirsiniz. Aşağıda, ana makine konsolunuzdaki hareketleri otomatikleştirmenize yardımcı olacak ham etkinlik komut dosyası yapıları verilmiştir.

Ekrana Dokunma İşlemini Simüle Etme

Hedef koordinatta temiz bir ekran dokunuşu gerçekleştirmek için izleme kimliği atayın, ekrandaki X ve Y koordinatlarını belirtin, dokunma temasını simüle edin, senkronize edin ve ardından bırakın.

# Press down at coordinate (400, 800) and sync
event send EV_ABS:ABS_MT_TRACKING_ID:1
OK
event send EV_ABS:ABS_MT_POSITION_X:400
OK
event send EV_ABS:ABS_MT_POSITION_Y:800
OK
event send EV_KEY:BTN_TOUCH:1
OK
event send EV_SYN:0:0
OK
# Lift finger up and sync
event send EV_ABS:ABS_MT_TRACKING_ID:-1
OK
event send EV_KEY:BTN_TOUCH:0
OK
event send EV_SYN:0:0
OK
Dikey kaydırmayı (kaydırma) simüle etme

Kaydırma hareketi yapmak için başlangıç koordinatında teması basılı tutun, ara hareket koordinatı çerçeveleri gönderin ve sonunda bırakın.

# Finger touch down at start coordinate (500, 1600)
event send EV_ABS:ABS_MT_TRACKING_ID:2
OK
event send EV_ABS:ABS_MT_POSITION_X:500
OK
event send EV_ABS:ABS_MT_POSITION_Y:1600
OK
event send EV_KEY:BTN_TOUCH:1
OK
event send EV_SYN:0:0
OK
# Move coordinates upward dynamically
event send EV_ABS:ABS_MT_POSITION_Y:1200
OK
event send EV_SYN:0:0
OK
event send EV_ABS:ABS_MT_POSITION_Y:800
OK
event send EV_SYN:0:0
OK
event send EV_ABS:ABS_MT_POSITION_Y:400
OK
event send EV_SYN:0:0
OK
# Finger release at coordinate (500, 400)
event send EV_ABS:ABS_MT_TRACKING_ID:-1
OK
event send EV_KEY:BTN_TOUCH:0
OK
event send EV_SYN:0:0
OK
İki parmakla yakınlaştırma hareketini simüle etme

İki parmakla yakınlaştırmayı tetiklemek için birbirinden uzaklaşan iki eşzamanlı dokunma koordinatını izlemek ve koordine etmek üzere etkin MT yuvalarını (0 ve 1) kullanın.

# Finger 1 down at (500, 1000) using slot 0
event send EV_ABS:ABS_MT_SLOT:0
OK
event send EV_ABS:ABS_MT_TRACKING_ID:10
OK
event send EV_ABS:ABS_MT_POSITION_X:500
OK
event send EV_ABS:ABS_MT_POSITION_Y:1000
OK
event send EV_KEY:BTN_TOUCH:1
OK
event send EV_SYN:0:0
OK
# Finger 2 down at (600, 1000) using slot 1
event send EV_ABS:ABS_MT_SLOT:1
OK
event send EV_ABS:ABS_MT_TRACKING_ID:11
OK
event send EV_ABS:ABS_MT_POSITION_X:600
OK
event send EV_ABS:ABS_MT_POSITION_Y:1000
OK
event send EV_SYN:0:0
OK
# Fingers slide apart from each other
event send EV_ABS:ABS_MT_SLOT:0
OK
event send EV_ABS:ABS_MT_POSITION_X:300
OK
event send EV_SYN:0:0
OK
event send EV_ABS:ABS_MT_SLOT:1
OK
event send EV_ABS:ABS_MT_POSITION_X:800
OK
event send EV_SYN:0:0
OK
# Lift Finger 1 using slot 0
event send EV_ABS:ABS_MT_SLOT:0
OK
event send EV_ABS:ABS_MT_TRACKING_ID:-1
OK
event send EV_SYN:0:0
OK
# Lift Finger 2 using slot 1
event send EV_ABS:ABS_MT_SLOT:1
OK
event send EV_ABS:ABS_MT_TRACKING_ID:-1
OK
event send EV_KEY:BTN_TOUCH:0
OK
event send EV_SYN:0:0
OK
Kulaklık Bağlantısı Değişimini Simüle Etme

Ses yönlendirme anahtarlarını test etmek için kulaklık jakı takma veya çıkarma işlemlerini simüle edin. 1 değeri jakın takılmasını, 0 ise kulaklığın çıkarılmasını ifade eder.

# Simulate headphones plugged in
event send EV_SW:SW_HEADPHONE_INSERT:1 EV_SYN:0:0
OK
# Simulate headphones unplugged
event send EV_SW:SW_HEADPHONE_INSERT:0 EV_SYN:0:0
OK
Gerçek bir cihazdan Console Event Codes'u keşfetme

Herhangi bir özel işlem veya düğme hareketi için tam etkinlik söz dizimi sırasını öğrenmek üzere adb shell üzerinden bağlanın ve getevent teşhis yardımcı programını çalıştırın. Emülatörün GUI'siyle etkileşimde bulunduğunuzda konsolda tam etkinlik kodları, türleri ve konumları yazdırılır.

# Run getevent to monitor input events dynamically
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
  • Etkinlik kısa mesajı: Tuş basımlarını simüle eden bir karakter dizisi gönderir. İleti, UTF-8 dizesi olmalıdır. Unicode gönderiler, mevcut cihaz klavyesine göre ters eşlenir ve desteklenmeyen karakterler sessizce silinir.

Güç durumu kontrolleri

  • Güç ekranı: Pil ve şarj cihazı durumunu gösterir.

  • power ac {on| off}: AC şarj durumunu etkin veya devre dışı olarak ayarlar.

  • power status {unknown| charging| discharging| not-charging| full}: Changes battery status as specified.

  • power present {true| false}: Pilin varlık durumunu ayarlar.

  • power health {unknown| good| overheat| dead| overvoltage| failure}: Pilin sağlık durumunu ayarlar.

  • power capacity percent: Kalan pil kapasitesi durumunu yüzde olarak (0-100) ayarlar.

Ağ bağlantısı durumu (yalnızca Ethernet ve hücresel)

  • Ağ durumu: Ağ durumunu ve mevcut gecikme ile 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 seviyelerini 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ğ gecikmesinin biçimi aşağıdakilerden biridir (sayılar milisaniye cinsindendir):

    Ağ gecikmesi biçimi:

  • gprs: GPRS, minimum 150 ve maksimum 550 gecikme aralığını kullanır.

  • edge: Minimum 80 ve maksimum 400 gecikme aralığını kullanan EDGE/EGPRS.

  • umts: Minimum 35 ve maksimum 200 gecikme aralığını kullanan UMTS/3G.

  • none: Gecikme yok.

  • num: Belirtilen gecikmeyi milisaniye cinsinden taklit eder.

  • min:max: Belirtilen gecikme aralığını taklit eder.

    Emülatör başlatılırken gecikmeyi ayarlamak için -netdelay emülatör seçeneğini desteklenen bir gecikme değeriyle birlikte kullanın. Örnekler:

    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 network delay komutunu kullanın:

    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ığı ayarlayabilir ya da uygulama emülatörde çalışırken hızı değiştirmek için konsolu kullanabilirsiniz.

    Ağ hızının biçimi aşağıdakilerden biridir (sayılar kilobit/sn cinsindendir):

    Ağ hızı biçimi:

  • gsm: 14,4 yukarı ve 14,4 aşağı hızını kullanan GSM/CSD.

  • hscsd: 14,4 yukarı ve 43,2 aşağı hızını kullanan HSCSD.

  • gprs: 40,0 yükleme ve 80,0 indirme hızını kullanan GPRS.

  • edge: 118,4 kb/sn yükleme ve 236,8 kb/sn indirme hızını kullanan EDGE/EGPRS.

  • umts: 128, 0 yukarı ve 1920 aşağı hızını kullanan UMTS/3G.

  • hsdpa: 348, 0 yukarı ve 14.400,0 aşağı hızını kullanan HSDPA.

  • lte: 58.000 yükleme ve 173.000 indirme hızı kullanan LTE.

  • evdo: 75.000 yükleme ve 280.000 indirme hızı kullanan EVDO.

  • full: Sınırsız hız ancak bilgisayarınızın bağlantı hızına bağlıdır.

  • num: Hem yükleme hem de indirme için kullanılan hızı saniyede kilobit cinsinden tam olarak ayarlar.

  • up:down: Yükleme ve indirme için ayrı ayrı kilobit/sn. cinsinden tam hızları ayarlar.

    Ağ hızını emülatör başlatılırken ayarlamak için -netspeed emülatör seçeneğini kullanın. Örnekler:

    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 kullanın:

    network speed 14.4 80
    
  • network capture {start| stop} file Dosyaya paket gönderir. Aşağıdaki listede parametreler ve parametre değerleri açıklanmaktadır:

    Not: Android Emulator 36.5 ve sonraki sürümlerde, Wi-Fi bağlantısı trafiği varsayılan olarak netsim tarafından işlenir. Ağ yakalama konsolu komutu yalnızca QEMU slirp yığını üzerinden yönlendirilen eski hücresel/WAN trafiğini yakalar. Modern emülatör sürümlerinde kablosuz, Bluetooth veya gelişmiş ağ paketlerini yakalamak için Gelişmiş Emülatör Ağ İletişimi Kılavuzu'ndaki Ağ trafiğini yakalama bölümüne bakın.

  • start file: Ağ paketlerini yakalamaya başlar. Güvenlik nedeniyle dosya, yalnızca dosya adı olmalıdır (/ gibi yol ayırıcılar ve .. içermemelidir). Paket yakalama dosyası, AVD'nizin içerik dizinindeki console_out/ klasörüne (örneğin, ~/.android/avd/avd_name.avd/console_out/file) kaydedilir.

  • stop file: Belirtilen dosyaya paket göndermeyi durdurur.

Telefon emülasyonu

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 listesi sağlanır. 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:

    • call: phonenumber adresinden gelen bir telefon aramasını simüle eder.
    • accept: phonenumber adresinden gelen bir aramayı kabul eder ve arama durumunu etkin olarak değiştirir. Bir görüşmenin durumunu yalnızca mevcut durumu beklemede veya tutuluyor olduğunda etkin olarak değiştirebilirsiniz.
    • cancel: Telefon numarasından gelen veya telefon numarasına yapılan giden telefon aramalarını sonlandırır.
    • busy: Telefon numarasına yapılan giden aramayı kapatır ve arama durumunu "meşgul" olarak değiştirir. Bir aramanın durumunu yalnızca mevcut durumu "bekliyor" olduğunda "meşgul" olarak değiştirebilirsiniz.
  • gsm {data| voice} state Veri durumu komutu, GPRS veri bağlantısının durumunu; ses durumu komutu ise GPRS ses bağlantısının durumunu aşağıdaki şekilde değiştirir:

    • unregistered: Ağ kullanılamıyor.
    • home: Yerel ağda, dolaşımda değil.
    • dolaşım: Dolaşım ağında.
    • searching: Ağlar aranıyor.
    • reddedildi: Yalnızca acil durum aramaları.
    • off: Kayıtlı değil ile aynıdır.
    • on: Evle aynı.
  • gsm hold: Bir aramanın durumunu bekletme olarak değiştirir. Bir arama durumunu yalnızca mevcut durumu etkin veya beklemede olduğunda bekletmeye alabilirsiniz.

  • gsm list: Tüm gelen ve giden aramaları ve durumlarını listeler.

  • gsm status: Mevcut GSM ses/veri durumunu bildirir. Değerler, ses ve veri 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:

    • rssi: Aralık, bilinmeyen için 0 ile 31 ve 99'dur.
    • ber: Aralık, bilinmeyen için 0 ile 7 ve 99 arasındadır.
  • gsm signal-profile num: Sinyal gücü profilini ayarlar. num, 0 ile 4 arasında bir sayıdır.

  • cdma ssource source Kaynak, CDMA operatörünün abonelerini ve değerlerini içeren ağ tabanlı bir izin verilenler listesi olmak üzere mevcut CDMA abonelik kaynağını aşağıdaki gibi ayarlar:

    • nv: Aboneliği kalıcı RAM'den okur.
    • ruim: Aboneliği, Çıkarılabilir Kullanıcı Kimliği Modülü'nden (RUIM) okur.
  • 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

Bu komutlar, AVD'de hangi sensörlerin kullanılabildiğiyle ilgilidir. Sensör komutunu kullanmanın yanı sıra, emülatördeki ayarları Hız ölçer ve Ek sensörler sekmelerindeki Sanal sensörler ekranında görebilir ve düzenleyebilirsiniz.

  • Sensör durumu: Tüm sensörleri ve durumlarını listeler.

  • 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ış hızlanma değerleri, sanal sensörlerin x, y ve z koordinatlarını ifade eder.

  • sensor set sensor-name value-x:value-y:value-z: sensor-name değerlerini 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

  • sms send sender-phone-number textmessage Emüle edilmiş gelen SMS oluşturur. Aşağıdaki listede parametreler ve değerleri açıklanmaktadır:

    • sender-phone-number: Rastgele bir sayısal dize içerir.
    • textmessage: SMS mesajı.

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

    sms send 4085555555 hi there
    

Konsol, SMS mesajını Android çerçevesine yönlendirir. Bu çerçeve de mesajı, emülatördeki SMS'leri işleyen bir uygulamaya (ör. Mesajlar uygulaması) iletir. 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

  • finger touch fingerprint-id: Parmağın sensöre dokunmasını simüle eder.

  • finger remove: Parmağın kaldırılmasını 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.

Ekran Kaydı

Ekran kaydı komutu, emülatörün fiziksel ekranının yüksek kaliteli video dosyalarını doğrudan ana makine sisteminden kaydetmenizi sağlar. Bu özellik, sürekli entegrasyon ardışık düzenleri ve otomatik hata raporlama için son derece kullanışlıdır.

  • screenrecord {start| stop} file Ekran kaydı işlemini başlatır veya durdurur.
    • start file: Video kaydını başlatır. Çıkış dosyası, zorunlu .webm uzantısıyla bitmelidir. Yakalanan video doğrudan AVD'nizin konsol çıkış dizininin altına kaydedilir: ~/.android/avd/avd_name.avd/console_out/file.
    • stop file: Etkin ekran kaydı işlemini durdurur.

Otomasyon ve Makro

Otomasyon alt sistemi, geliştiricilerin çalışan sanal cihazdaki makro durum geçişlerini kaydetmesine ve bunları otomatik test akışlarını yürütmek için tekrar oynatmasına olanak tanır.

  • automation {record| stop-record| play| stop-play} Otomatik makro kayıtlarını yönetir.
    • record: Cihaz durumu değişikliklerini ve girişlerini kaydetmeye başlar.
    • stop-record: Geçerli makro kayıt oturumunu durdurur.
    • play: Kaydedilmiş bir makro dizisini oynatmaya başlar.
    • stop-play: Etkin makro oynatma sırasını durdurur.

Fizik (6DoF)

Fizik komutları, gelişmiş hareket izlemeyi simüle etmek için kullanılan altı serbestlik dereceli (6DoF) fiziksel hareket modelleri için kesin referans verisi olan uzamsal pozların kaydedilmesini yönetir.

  • physics {record-gt| stop} Fiziksel poz modeli kayıtlarını yönetir.
    • record-gt: Doğruluk verisi 6DoF hareket verilerini kaydetmeye başlar.
    • stop: Mevcut doğru cevap kaydı sürecini durdurur.

Gelişmiş Cihaz Denetimleri

Bu bölümde, ağ proxy'leri, çoklu ekran yapılandırmaları, oluşturma geçersiz kılmaları ve hipervizör doğrudan hata ayıklama gibi gelişmiş emülasyon yapılandırmaları için son derece uzmanlaşmış konsol komutu uç noktaları toplanır.

  • multidisplay {add| del} Çok ekranlı yapılandırmaları test etmek için ikincil sanal monitörler ekler veya siler. Not: Pixel Fold veya Resizable Emulator gibi katlanabilir profillerde ikincil monitörler desteklenmez.

  • proxy {set| clear} Ağ proxy yönlendirmeyi konsoldan programatik olarak yapılandırır.

    • set host port: Hedef proxy ayarlarını yapılandırır.
    • clear: Proxy yapılandırmalarını varsayılan değerlere sıfırlar. Not: Proxy ayarı işlemleri, gözetimsiz yürütme ortamlarında başarısız olur.
  • virtualscene-image {wall| table} image_path Sanal sahne kamera feed'inde gösterilen arka plan duvarlarını veya yatay tabloları özel bir kullanıcı resmi dosyasıyla özelleştirir.

  • resize-display scale Ekran çözünürlüğünü önceden ayarlanmış ölçekler arasında dinamik olarak ayarlar. Not: Çözünürlük ayarlamaları, başsız yapılandırmalarda desteklenmez.

  • nodraw {on| off} Yüksek hacimli arka plansız otomasyon çalıştırmaları sırasında sistem belleğini ve GPU yükünü azaltmak için ana makine ekranında fiziksel GUI oluşturmayı devre dışı bırakır.

  • grpc port Özel gRPC bağlantı noktası uç noktaları üzerinden gelişmiş programatik cihaz kontrolünü yapılandırır.

  • qemu monitor Temel hipervizörün konsoluna doğrudan etkileşimli terminal erişimi sağlar. Bu komut yalnızca etkin Telnet konsolu oturumlarında girilebilir.

  • icebox track pid Belirtilen uygulama süreci işlenmemiş bir istisna veya kilitlenme yaşadığında otomatik sistem anlık görüntülerini etkinleştirir.

  • phonenumber number Hedef cihazın sanal yerel telefon numarasını ayarlar.

gRPC programatik arayüzü

Modern emülatör sürümleri, eski Telnet konsolunun yanı sıra güçlü bir gRPC programatik arayüzünü destekler. Telnet konsolu hızlı etkileşimli oturumlar veya basit komut dosyaları için ideal olsa da gRPC arayüzü, sürekli entegrasyon (CI) ve gözetimsiz ortamlarda yüksek performanslı, güvenli ve sağlam otomatik kontrol için tasarlanmıştır. gRPC, doğrudan hizmet uç noktaları sunarak metin akışlarını ayrıştırma, terminal oturumu el sıkışmalarını yönetme veya şifrelenmemiş localhost bağlantı noktalarını kullanıma sunma ihtiyacını ortadan kaldırır.

Eski Telnet konsolu ile modern gRPC programatik arayüzü arasında seçim yapmanıza yardımcı olması için performans, güvenlik ve özellik yetenekleriyle ilgili aşağıdaki karşılaştırmayı inceleyin:

Özellik Telnet Konsolu gRPC Arabirimi
İdeal kullanım alanları Manuel hata ayıklama, etkileşimli oturumlar. Gözetimsiz CI/CD, ağır otomatik test düzenekleri.
Hız Daha yavaş; metin ek yükü, bağlantı gecikmesi. Optimize edilmiş; çoklu HTTP/2, hızlı proto.
Güvenlik Şifrelenmemiş; yerel bağlantı noktaları (5554-5585). TLS ile güvenli hale getirilebilir ve ağlar üzerinden çalışır.
Akışlar Desteklenmiyor; yalnızca istek-yanıt. logcat ve misafir ses yakalama için yayınlar.
Medya Çıkış dosyalarını ana makine/konuk diskine yazar. Doğrudan kablolu ikili arabellekler.
Konuk işletim sistemi Sabit emülatör komutlarıyla sınırlıdır. Yerel konuk bash kabuk komutlarını çalıştırır.

gRPC'yi başlatma ve çağırma

gRPC uç noktalarını kullanmak için komut satırından Android Emulator'ı başlatın ve hedef geri döngü bağlantı noktasını belirten -grpc işaretini ekleyin.

# Start the emulator with the gRPC service enabled on port 8556
emulator -grpc localhost:8556 @Pixel_Fold

Emülatör, gRPC hizmeti etkinleştirilmiş olarak çalıştıktan sonra programatik RPC çağrıları yapabilirsiniz. Komut satırı testi için, emülatörün hizmetleriyle iletişim kurmak üzere grpcurl yardımcı programını kullanın. Tüm istekler JSON biçiminde biçimlendirilir ve düz metin üzerinden gönderilir.

# Query the status of the virtual device using grpcurl
grpcurl -plaintext -d '{}' localhost:8556 \
  android.emulation.control.EmulatorController/getStatus

# Simulate an incoming phone call
grpcurl -plaintext -d '{"operation": "InitCall", "number": "1234567890"}' localhost:8556 \
  android.emulation.control.EmulatorController/sendPhone

# Simulate typing text into the guest OS
grpcurl -plaintext -d '{"text": "Hello"}' localhost:8556 \
  android.emulation.control.EmulatorController/sendKey

Telnet konsolunun gRPC hizmetine eşlenmesi

Aşağıdaki referans tablosunda, eski Telnet konsol komutları karşılık gelen gRPC hizmetleri ve yöntemleriyle eşlenerek yaygın sanal cihaz etkileşimlerinin programatik olarak nasıl otomatikleştirileceği gösterilmektedir:

Kategori Eski Telnet Komutu gRPC Hizmeti / Yöntemi
Durum ping EmulatorController/getStatus
Durum avd name incubating.AvdService/getAvdInfo
Durum kill EmulatorController/setVmState
Durum restart EmulatorController/setVmState
Güç power display EmulatorController/getBattery
Güç power capacity EmulatorController/setBattery
Coğrafi konum geo fix EmulatorController/setGps
Sensörler sensor set incubating.SensorService/setSensor
Biyometri finger touch EmulatorController/sendFingerprint
Posture posture EmulatorController/setPosture
Posture physics/fold EmulatorController/setPhysicalModel
SMS sms send EmulatorController/sendSms
GSM Call gsm call EmulatorController/sendPhone
GSM Call phonenumber EmulatorController/setPhoneNumber
Yönlendirme redir add Waterfall/ForwardPort
Giriş event send EV_KEY EmulatorController/sendKey
Giriş event send EV_ABS EmulatorController/sendTouch
Medya screenrecord incubating.ScreenRecording
Görüntü Oluşturma nodraw EmulatorController/setDisplayMode
Anlık görüntüler avd snapshot list SnapshotService/ListSnapshots
Anlık görüntüler avd snapshot load/save SnapshotService/LoadSnapshot

gRPC'ye özgü programatik komutlar

gRPC arayüzü, eski Telnet konsol bağlantıları üzerinden fiziksel olarak yürütülmesi imkansız olan çeşitli son teknoloji özellikler sunar. Bunlar arasında doğrudan logcat akışı, çift yönlü ses yakalama veya yerleştirme, ana makine GUI değişiklikleri ve doğrudan kabuk erişimi yer alır.

gRPC Hizmeti / Yöntemi Parametre Kapasite
streamLogcat {"maxLines": 100} Konuk sisteminin logcat çıkışlarını yayınlar
streamAudio {} Hoparlör sesini kablo üzerinden aktarır
injectAudio {"audio": "..."} Mikrofon ses akışlarını yerleştirir.
UiController {"theme": "DARK"} Ana pencere temalarını değiştirir.
Waterfall/Exec {"cmd": "ls"} Yerel misafir işletim sistemi kabuk komutlarını çalıştırır.

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:

  1. 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.

  2. 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.

  3. Uygulamanız parmak iziyle kimlik doğrulama ekranını gösterirken konsola gidin ve finger touch komutunu ve oluşturduğunuz parmak izi kimliğini girin. Bu işlem, parmakla dokunma simülasyonu yapar.

  4. Ardından, parmağın kaldırılmasını simüle etmek için finger remove komutunu girin. Uygulamanız, kullanıcının parmağıyla parmak izi sensörüne dokunup parmağını kaldırmış gibi yanıt vermelidir.