Emülatör konsol komutları gönderme

Çalışan her sanal cihaz, emülasyonu yapılan 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ı kullanabilmek 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 Emulator'da uygulama çalıştırma ve Emülatörü komut satırından başlatma başlıklı makaleleri inceleyin.

Konsol oturumu 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. Konsolda OK ifadesi her gösterildiğinde komutlar kabul edilmeye hazır demektir. Standart bir istem yoktur.

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

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

    telnet localhost console-port
    

    Emülatör penceresi başlığı, ayrı bir pencerede çalışırken konsol bağlantı noktası numarasını listeler ancak bir araç penceresinde çalışırken 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 konsol bağlantı noktası numaralarının listesini yazdırır. Daha fazla bilgi için Cihazları sorgulama başlıklı makaleyi inceleyin.

    Not: Emülatör, 5554 ile 5585 arasındaki bağlantı noktalarındaki bağlantıları dinler ve yalnızca yerel ana makineden gelen bağlantıları kabul eder.

  2. Konsolda OK (Tamam) ifadesi gösterildikten sonra auth auth_token komutunu girin.

    Konsol komutlarını girebilmeniz için emülatör konsolunun kimlik doğrulaması yapması 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 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 yazın.

  4. Konsol oturumundan çıkmak için quit veya exit komutunu girin.

Örnek bir oturum:

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

"Ateşle ve unut" komutları

Oturumun açık kalması gerekmiyorsa komutu yürüten ve kontrolü hemen çağıran kabuğa döndüren adb emu kısayolunu kullanın:

adb emu command commandParameter

adb emu ile çağrı, kullanılabilir emülatöre bağlanır. Aynı anda çalışan birden fazla emülatörünüz varsa 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, emülatör konsolu komutları, parametreleri ve değerleri 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: Sanal cihaz durumunu sorgular. Durum, çalışıyor veya durduruldu olabilir.
    • name: Sanal cihaz adını sorgular.
  • avd snapshot {list| save name| load name| delete name} Cihaz durumunu 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ü 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ü kaydedilir:

    avd snapshot save firstactivitysnapshot
    
  • fold: Cihaz katlanabilirse ve şu anda katlanmamışsa daha küçük ekran yapılandırmasını görüntülemek için cihazı katlar.

  • unfold: Cihaz katlanabilirse ve şu anda katlanmış durumdaysa daha büyük ekran yapılandırmasını görüntülemek 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ü kilitler.

  • crash: Uygulama yürütme sırasında emülatörü kilitler.

  • crash-on-exit: Uygulamadan çıkıldığı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. Tags 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 yaygın olarak kullanılan seçenekler tablosuna bakın. Aşağıdaki örnekte radyo etiketi etkinleştirilmektedir:

    debug radio
    

Bağlantı noktası yönlendirme

  • 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:

    • protocol: tcp veya udp olmalıdır.
    • host-port: Ana makinede açılacak bağlantı noktası numarası.
    • guest-port: Emülatörde verilerin 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

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

Sanal cihaz çalışmaya başlar başlamaz 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 dinleyicilere yanıt verir ve konumu LocationManager'a iletir. Herhangi bir uygulama, LocationManager.getLastKnownLocation("gps") yöntemini çağırarak emülasyonu yapılan cihazın mevcut GPS konumunu almak için konum yöneticisini sorgulayabilir.

  • geo fix longitude latitude [altitude] [satellites] [velocity]: Emülatöre 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. Rakımı metre, hızı ise knot cinsinden belirtin.

  • geo nmea sentence: Emüle edilmiş bir GPS modemden gönderilmiş gibi emüle edilmiş cihaza bir NMEA 0183 cümlesi 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 zaman, 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. Fiziksel düğmeler, ekrana dokunma/hareketler, döner kadranlar, joystick girişleri ve donanım anahtarları buna dahildir.

  • event types: Tüm sahte etkinlik türlerini listeler. Kodu olan etkinliklerde kod sayısı sağda 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ünün 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.

EV_KEY — Tuş Kodu Referansları

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

Alt Tablo A: Android Sistem Anahtarları
Kod Açıklama
KEY_HOME Ana sayfa düğmesiyle tetikleme
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 Kamera 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ç
KEY_SEND Telefon araması gönderme veya başlatma
KEY_HEADSETHOOK Mikrofonlu kulaklık kancası (cevaplama/kapatma)
KEY_SCREEN Ekran koruyucu etkin komutu
KEY_CONFIG Yapılandırma sistemi menüsü
KEY_SWITCHVIDEOMODE Sistem video modunu değiştirme
KEY_KBDILLUMTOGGLE Klavye aydınlatmasını açma/kapatma
Alt tablo B: Medya ve Oynatma Kontrolleri
Kod Açıklama
KEY_PLAYPAUSE Oynatma ve duraklatma durumları arasında geçiş yapma
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 geçme
KEY_REWIND Etkin parçayı geri sar
KEY_FASTFORWARD Etkin parçayı ileri sarma
KEY_RECORD Tetikleyici komutunu kaydetme
KEY_SHUFFLE Karışık oynatmayı aç/kapat
KEY_REPEAT Tekrar oynatmayı aç/kapat
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 Sayfa yukarı gezinme
KEY_PAGEDOWN Sayfada aşağı gezinme
KEY_INSERT Önemli tetikleyici ekleme
KEY_DELETE Anahtar tetikleyiciyi 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 temizle
KEY_CANCEL Etkin işlemi iptal etme
KEY_OK Seçimi onayla/Tamam'ı seç
KEY_SELECT Öğe seçme tetikleyicisi
KEY_GOTO Belirlenen yere gitme
KEY_HELP Yardım içeriğine erişme
Alt tablo D: Alfasayısal Karakterler ve Tuş Takımı Simgeleri
  • Standart alfabe harfleri: KEY_A - KEY_Z (26 kod).
  • Sayısal tuş takımı tuşları: KEY_1 - KEY_0 (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üzeni)
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 İşlev Tuşları
  • Standart işlev tuşları: KEY_F1 - KEY_F24 (24 kod).
Kod Açıklama
KEY_LEFTSHIFT Sol üst karakter klavye değiştiricisi
KEY_RIGHTSHIFT Sağ üst karakter klavye değiştiricisi
KEY_LEFTCTRL Sol Control klavye değiştiricisi
KEY_RIGHTCTRL Sağ Control klavye değiştiricisi
KEY_LEFTALT Sol Alt klavye değiştirici
KEY_RIGHTALT Sağ Alt klavye değiştirici
KEY_LEFTMETA Sol Meta/Command tuşu
KEY_RIGHTMETA Sağ Meta/Command tuşu
KEY_CAPSLOCK Caps Lock klavye açma/kapatma
KEY_NUMLOCK Num Lock klavye açma/kapatma düğmesi
KEY_SCROLLLOCK Scroll Lock klavye açma/kapatma
KEY_COMPOSE Karakter oluşturma yardımcısı
KEY_FN Fiziksel klavye 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 Kumanda yüz düğmeleri A/B/C
BTN_X / BTN_Y / BTN_Z Kumanda ön düğmeleri X/Y/Z
BTN_START Oyun kumandası Başlat menüsü düğmesi
BTN_SELECT Oyun kumandası Seç düğmesi
BTN_MODE Kumanda modu anahtarı
BTN_TL/BTN_TR Sol/sağ omuz düğmeleri
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ğunun birincil başparmak tetikleyicisi
BTN_TOP/BTN_TOP2 Kontrol çubuğunun üst düğmeleri
BTN_PINKIE Kontrol çubuğu serçe 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 kontrol çubuğu el tetikleyicisi
BTN_JOYSTICK Genel kumanda çubuğu giriş kodu
Alt tablo G: Fare, Dokunma ve Ekran Kalemi 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ğiyle tıklama
BTN_SIDE Gezinme yan tuşu tetikleyicisi
BTN_EXTRA Ek 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 Ekran kalemindeki ikincil gövde düğmesi
BTN_TOOL_PEN Ekran kalemi aracı tanımlayıcısı
BTN_TOOL_RUBBER Ekran kalemi silgi aracı tanımlayıcısı
BTN_TOOL_BRUSH Boya fırçası aracı tanımlayıcısı
BTN_TOOL_PENCIL Çizim kalemi aracı tanımlayıcısı
BTN_TOOL_AIRBRUSH Hava fırçası boya aracı tanımlayıcısı
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 Hareket çift dokunma hızı işareti
BTN_TOOL_TRIPLETAP Hareketle üç kez dokunma hızı işareti
Alt Tablo H: 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 dosya gezginini açar.
KEY_EDIT Doküman düzenleme tetikleyicisi
KEY_NEW Doküman yeni tetikleyici oluşturma
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 arabelleği kopyalama işlemi
KEY_PASTE Pano arabelleği ekleme işlemi
KEY_CUT Pano arabelleği kesme işlemi
KEY_UNDO Pano arabelleği geri alma işlemi
KEY_REDO Pano arabelleği yeniden yapma işlemi
KEY_CANCEL Tampon iptal işlemi tetikleyicisi
KEY_FIND Belge arama yardımcı programı
KEY_REFRESH Belge yenileme yardımcı programı
KEY_EXIT Belge kapatma yardımcı programı
KEY_DOCUMENTS Sistem belgeleri portalını açar
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 uygulamasını başlatır.
KEY_EMAIL Alternatif e-posta başlatma tetikleyicisi
KEY_FINANCE Hisse senedi/finans aracını aç
KEY_SPORT Spor takip aracını açma
KEY_SHOP Dijital alışveriş portalını açma
KEY_PLAYER Birincil medya oynatıcıyı aç
KEY_MP3 Birincil MP3 çaları aç
KEY_TEXT Varsayılan metin düzenleyiciyi aç
KEY_LIST Yapılacaklar listesi aracı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 Sistem adres dizinini açar
KEY_COMPUTER Teknik özellikler gezginini 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ü okuyucuyu etkinleştirir
KEY_AUDIO/KEY_VIDEO Medya spesifikasyonlarına erişim sağlar
KEY_TUNER Alıcıları/ayarlayıcıları yapılandırır
KEY_SAT/KEY_SAT2 Uydu feed'lerini yapılandırır.
KEY_TAPE Kasetçalar
KEY_VCR Play VCR oynatıcı feed'i
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 tuşları
KEY_ZOOM Görüntü alanını yakınlaştırma açma/kapatma düğmesi
KEY_MODE Görüntü alanı modu seçimi
KEY_KEYBOARD Sanal klavyeyi göster/gizle
KEY_LANGUAGE Ses parçasının dilini değiştirme
KEY_TITLE Medya başlığı seçeneklerini aç
KEY_SUBTITLE Altyazı arayüzünü aç/kapat
KEY_ANGLE Video kamera açılarını değiştirme
KEY_EPG Elektronik program rehberini açma
KEY_PVR Kişisel video kaydediciyi aç
KEY_MHP Açık multimedya ev platformu
KEY_CHANNEL TV tarayıcısı kanallarını açma
KEY_CHANNELUP TV kanalını yukarı ayarla
KEY_CHANNELDOWN TV kanalını aşağı ayarla
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 belirle
KEY_NEXT Sonraki parça seçeneğini belirleyin.
KEY_PREVIOUS Önceki parça seçeneğini belirleme
KEY_RESTART Medya parçasını döngüye almayı 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 sonu arabelleğine kadar sil
KEY_DEL_EOS Ekran arabelleğinin sonuna kadar sil
KEY_INS_LINE Yeni satır arabelleği ekle
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ı simgeleri
KEY_PLUS Telefon tuş takımındaki artı simgesi
KEY_INFO Bilgi paneli yer paylaşımını göster
KEY_TIME Mevcut saati göster
KEY_VENDOR Sorgu tedarikçisi spesifikasyonları
KEY_ARCHIVE Yerel arşiv yardımcı programını açar
KEY_PROGRAM Program parametrelerini yapılandırır.
KEY_POWER2 Alternatif yedek güç kaynağını tetikler

EV_ABS — Mutlak Hareket Etkinlikleri

EV_ABS etkinlik türü; hassas dokunma, sürükle ve bırak hareketleri, çoklu dokunma ile sıkıştırma işlemleri ve joystick ayarlamalarını simüle etmek için çok önemlidir. Aşağıdaki mutlak koordinatlar, doğrudan temel fiziksel ekran çözünürlüğüyle eşleşir.

Kod Koordinat Aralığı Açıklama
ABS_MT_TRACKING_ID -1 veya ≥0 İzleme kimliği; -1 dokunmayı sonlandırıyor
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ı ana eksen genişliği
ABS_MT_TOUCH_MINOR piksel Dokunma alanı küçük eksen genişliği
ABS_MT_WIDTH_MAJOR piksel Aletin ana eksen genişliği
ABS_MT_WIDTH_MINOR piksel Araç küçük 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 Ekrana olan temassız etkileşim mesafesi
ABS_MT_TOOL_TYPE 0 - 2 0=parmak, 1=kalem, 2=kurşun kalem
ABS_MT_BLOB_ID Tam sayı İletişim 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 yuva (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 ve bakış açısı anahtarları
ABS_PRESSURE 0 - 255 Ekran kalemi/işaretçi kuvvet seviyesi
ABS_DISTANCE mm Fareyle üzerine gelme mesafesi (ekran kalemi)
ABS_TILT_X/_TILT_Y derece Ekran kalemi eğim açıları
ABS_VOLUME analog Kumanda ses seviyeleri

Android dokunma etkileşimi, Çoklu Dokunma (MT) Protokolleri tarafından yönetilir. Modern emülatörler hem Protokol A'yı (durum bilgisiz, senkronizasyon işaretleriyle ayrılmış temas paketleri gönderir) hem de Protokol B'yi (durum bilgili, temasları özel izleme yuvalarına atar) uygular. B protokolü, iki parmakla yakınlaştırma gibi hareketler için aynı anda birden fazla dokunmanın 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 veya kaydırma tekerleklerini taklit etmek için kullanılır. EV_SW etkinlik kategorisi, katlanır telefon veya tabletin katlanması ya da harici ses donanımının takılması gibi fiziksel cihaz anahtarlarını 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=Çıkarıldı, 1=Takıldı)
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 türler, kodlar ve değerler iki nokta üst üste ile ayrılacak şekilde biçimlendirin. Tek bir dizede birden fazla koordinat değişikliğini sıraya koyabilirsiniz. Önemli bir nokta olarak, emülatör çerçevesinin bu girişleri bir araya getirip 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ı parametreler göndermeye izin verdiği için gerçekçi fiziksel hareket dizilerini simüle edebilirsiniz. Aşağıda, ana makine konsolunuzdan hareketleri otomatikleştirmek için ham etkinlik komut dosyası yapıları verilmiştir.

Ekrana dokunma simülasyonu

Hedef koordinatta temiz bir ekran dokunması gerçekleştirmek için bir izleme kimliği atayın, ekranda X ve Y koordinatlarını belirtin, temas dokunması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ırma (kaydırma) simülasyonu

Kaydırma hareketi yapmak için başlangıç koordinatında dokunmayı basılı tutun, ara hareket koordinat karelerini 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 etkin MT yuvalarını (0 ve 1) kullanarak birbirinden uzaklaşan iki eşzamanlı dokunma koordinatını izleyin ve koordine edin.

# 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ı Geçişini 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ıldığını, 0 ise kulaklığın çıkarıldığını gösterir.

# 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 etkinlik kodlarını bulma

Herhangi bir özel işlem veya düğme hareketi için tam etkinlik söz dizimi sırasını öğrenmek istiyorsanız adb shell kullanarak bağlanın ve getevent teşhis yardımcı programını çalıştırın. Siz emülatör GUI'siyle etkileşimde bulunurken konsol, tam etkinlik kodlarını, türlerini ve konumlarını yazdırı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
  • event text message: Tuş basışlarını simüle eden bir karakter dizesi gönderir. Mesaj, UTF-8 dizesi olmalıdır. Unicode yayınlar, mevcut cihaz klavyesine göre ters eşlenir ve desteklenmeyen karakterler sessizce silinir.

Güç durumu kontrolleri

  • power display: Pil ve şarj cihazı durumunu gösterir.

  • power ac {on| off}: AC şarj durumunu açık veya kapalı olarak ayarlar.

  • power status {unknown| charging| discharging| not-charging| full}: Pil durumunu belirtilen şekilde değiştirir.

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

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

  • power capacity percent: Kalan pil kapasitesi durumunu 0 ile 100 arasında bir yüzde olarak ayarlar.

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

  • network status: Ağ durumunu, mevcut gecikmeyi ve hız özelliklerini kontrol eder.

  • network delay latency Öykünülen ağ gecikmesini değiştirir.

    Emülatör, uygulamanızı gerçek çalışma koşullarına daha yakın 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ğ gecikmesinin biçimi aşağıdakilerden biridir (sayılar milisaniye cinsindendir):

    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: Minimum 35 ve maksimum 200 gecikme aralığı 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 desteklenen bir gecikme değeriyle -netdelay emülatör seçeneğini 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 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ı biçimi aşağıdakilerden biridir (sayılar saniyede kilobit cinsindendir):

    Ağ hızı biçimi:

  • gsm: 14,4 yükleme ve 14,4 indirme hızı kullanan GSM/CSD.

  • hscsd: 14,4 yükleme ve 43,2 indirme hızı kullanan HSCSD.

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

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

  • umts: 128, 0 yükleme ve 1920 indirme hızı kullanan UMTS/3G.

  • hsdpa: 348, 0 yükleme ve 14.400,0 indirme hızı 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 tam hızı saniyede kilobit cinsinden ayarlar.

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

    Emülatör başlatılırken ağ hızını 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 Paketleri bir dosyaya gönderir. Aşağıdaki listede parametreler ve parametre değerleri açıklanmaktadır:

    Not: Android Emulator 36.5 ve sonraki sürümlerden itibaren, kablosuz bağlantı trafiği varsayılan olarak netsim tarafından yönetilir. 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ılavuzundaki Ağ trafiğini yakalama bölümüne bakın.

  • start file: Ağ paketlerini yakalamaya başlar. Güvenlik nedeniyle dosya, yalın bir 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 (ör. ~/.android/avd/avd_name.avd/console_out/file) kaydedilir.

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

Telefon emülasyonu

Android emülatörü, emülatörde telefon işlevlerini simüle etmenize olanak tanıyan kendi GSM ve CDMA emülasyonlu modemlerini içerir. Örneğin, GSM ile gelen telefon aramalarını simüle edebilir, veri bağlantıları kurabilir ve sonlandırabilirsiniz. CDMA'da bir abonelik kaynağı ve tercih edilen dolaşım listesi sağlarsınız. Android sistemi, simüle edilen aramaları gerçek aramalarla aynı şekilde işler. Emülatör, arama sesini desteklemez.

  • gsm {call| accept| cancel| busy} phonenumber gsm parametreleri şunlardır:

    • call: phonenumber'dan gelen bir telefon aramasını simüle eder.
    • accept: Telefon numarasından gelen aramayı kabul eder ve arama durumunu etkin olarak değiştirir. Bir aramanın durumunu yalnızca mevcut durumu "bekliyor" veya "beklemede" olduğunda "etkin" olarak değiştirebilirsiniz.
    • cancel: phonenumber'dan gelen veya phonenumber'a giden bir telefon aramasını sonlandırır.
    • busy: phonenumber'a 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 değiştirir. Ses durumu komutu ise GPRS ses bağlantısının durumunu aşağıdaki gibi değiştirir:

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

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

  • gsm status: Mevcut GSM ses ve veri durumunu bildirir. Değerler, ses ve veri komutları için açıklanan değerlerdir.

  • gsm signal {rssi| ber} Sonraki 15 saniyelik güncellemede 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 0 ile 31 arasındadır ve bilinmeyen için 99'dur.
    • ber: Aralık 0 ile 7 arasındadır ve bilinmeyen için 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ı ayarlar. Kaynak, CDMA operatörünün abonelerini ve değerlerini içeren ağ tabanlı bir izin verilenler listesidir:

    • nv: Aboneliği geçici olmayan RAM'den okur.
    • ruim: Aboneliği Çıkarılabilir Kullanıcı Kimlik Modülü'nden (RUIM) okur.
  • cdma prl_version version: Mevcut tercih edilen 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önetme

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

  • sensor status: Tüm sensörleri ve durumlarını listeler.

  • sensor get sensor-name: sensor-name ayarlarını alır. Aşağıdaki örnekte, ivme sensörünün değeri alınmaktadır:

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

    İki nokta üst üste (:) ile ayrılmış ivme 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, ivme sensörü iki nokta üst üste ile ayrılmış x, y ve z değerlerine ayarlanmaktadır.

    sensor set acceleration 2.23517e-07:9.77631:0.812348
    

SMS emülasyonu

  • sms send sender-phone-number textmessage Öykünülmüş bir 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. Çerçeve de mesajı emülatörde SMS'leri işleyen bir uygulamaya (ör. Mesajlar uygulaması) iletir. 10 numara iletirseniz uygulama bunu telefon numarası olarak biçimlendirir. Daha uzun veya daha kısa sayı dizeleri, gönderdiğiniz şekilde gösterilir.

Parmak izi simülasyonu

  • finger touch fingerprint-id: Sensöre dokunan bir parmağı 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ğrulaması ile ilgili aşağıdaki bölüme bakın.

Ekran Kaydı

Ekran kaydedicisi komutu, emülatörün fiziksel ekranının yüksek kaliteli video dosyalarını doğrudan ana sistemden yakalamayı sağlar. Bu, sürekli entegrasyon ardışık düzenleri ve otomatik hata raporlama için çok 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ış dizinine 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 cihazda makro durum geçişlerini kaydetmesine ve otomatik test akışlarını yürütmek için bunları 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şleri kaydetmeye başlar.
    • stop-record: Geçerli makro kayıt oturumunu durdurur.
    • play: Kaydedilen 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 gerçek doğru uzamsal pozların kaydedilmesini yönetir.

  • physics {record-gt| stop} Fiziksel poz modeli kayıtlarını yönetir.
    • record-gt: Gerçek doğru 6DoF hareket verilerini kaydetmeye başlar.
    • stop: Mevcut gerçek doğru kayıt işlemini durdurur.

Gelişmiş Cihaz Kontrolleri

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 dahil olmak üzere gelişmiş emülasyon yapılandırmaları için son derece özel konsol komut uç noktaları toplanır.

  • multidisplay {add| del} Çoklu ekran yapılandırmalarını test etmek için ikincil sanal monitörler ekler veya siler. Not: İkincil monitörler, Pixel Fold veya yeniden boyutlandırılabilir emülatör gibi katlanabilir profillerde desteklenmez.

  • proxy {set| clear} Ağ proxy yönlendirmesini 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 kümesi işlemleri, başsız yürütme ortamlarında başarısız olur.
  • virtualscene-image {wall| table} image_path Sanal sahne kamera feed'inde görüntülenen arka plan duvarlarını veya yatay tabloları özel bir kullanıcı resim 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 plan başsı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ı üzerinde 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ı üzerinden girilebilir.

  • icebox track pid Belirtilen uygulama işlemi, işlenmeyen 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 temel komut dosyaları için idealdir. gRPC arayüzü ise sürekli entegrasyon (CI) ve başsız 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ı açma 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 aşağıdaki performans, güvenlik ve özellik karşılaştırmasını inceleyin:

Özellik Telnet Konsolu gRPC arayüzü
Hitap ettiği içerik üreticiler Manuel hata ayıklama, etkileşimli oturumlar. Başsız CI/CD, yoğun otomatik test donanımları.
Hız Daha yavaş; metin ek yükü, bağlantı gecikmesi. Optimize edilmiş; çoklanmış HTTP/2, hızlı proto.
Güvenlik Şifrelenmemiş; yerel bağlantı noktaları (5554-5585). TLS ile güvenli hale getirilebilir, ağlar üzerinden çalışır.
Canlı yayınlar Desteklenmiyor; yalnızca istek-yanıt. Logcat ve misafir ses kaydı için akışlar.
Medya Çıkış dosyalarını ana makine/misafir diskine yazar. Doğrudan kablo üzerinden ikili arabellekler.
Konuk işletim sistemi Sabit emülatör komutlarıyla kısıtlıdır. Yerel misafir bash kabuk komutlarını çalıştırır.

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

gRPC uç noktalarını kullanmak için Android Emulator'ı komut satırından başlatın ve hedef loopback bağlantı noktasını belirterek -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ışmaya başladı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çimindedir ve düz metin olarak 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 konsolundan gRPC hizmetine eşleme

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

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
Duruş posture EmulatorController/setPosture
Duruş physics/fold EmulatorController/setPhysicalModel
SMS sms send EmulatorController/sendSms
GSM araması gsm call EmulatorController/sendPhone
GSM araması 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} Misafir sistem logcat çıkışlarını aktarır.
streamAudio {} Hoparlör sesini kablo üzerinden aktarır
injectAudio {"audio": "..."} Mikrofon ses akışlarını ekler
UiController {"theme": "DARK"} Ana makine penceresinin pencere temalarını değiştirir
Waterfall/Exec {"cmd": "ls"} Yerel konuk 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ızda parmak izi kimlik doğrulamasını simüle etmek ve doğrulamak için 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 izi kimlik doğrulamasını simüle etmek ve doğrulamak için aşağıdaki adımları uygulayın:

  1. Henüz bir 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ğrulamayı 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 izi kimlik doğrulama ekranını gösterirken konsola gidin ve finger touch komutu ile oluşturduğunuz parmak izi kimliğini girin. Bu işlem, parmakla dokunmayı simüle eder.

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