Ç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:
Bir terminal penceresi açın ve aşağıdaki komutu girin:
telnet localhost console-portEmü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 deviceskomutu, ç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.
Konsolda OK (Tamam) ifadesi gösterildikten sonra
auth auth_tokenkomutunu girin.Konsol komutlarını girebilmeniz için emülatör konsolunun kimlik doğrulaması yapması gerekir.
auth_token, ana dizininizdeki.emulator_console_auth_tokendosyasının içeriğiyle eşleşmelidir.Bu dosya yoksa
telnet localhost console-portkomutu, 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_tokendosyasından silin veya yoksa boş bir dosya oluşturun.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 commandveyahelp-verboseyazın.Konsol oturumundan çıkmak için
quitveyaexitkomutunu 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,
firstactivitysnapshotadlı bir anlık görüntü kaydedilir:avd snapshot save firstactivitysnapshotfold: 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-tagskomutunu çalıştırdığınızda görünen hata ayıklama etiketleri listesindeki bir değer olmalıdır.-help-debug-tagsseç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-portAş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-portBağ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 OKevent 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
-netdelayemülatör seçeneğini kullanın. Örnekler:emulator -netdelay gprs emulator -netdelay 40,100Emülatör çalışırken ağ gecikmesinde değişiklik yapmak için konsola bağlanın ve
network delaykomutunu kullanın:network delay gprs network delay 40 100network speed speedEmü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
-netspeedemülatör seçeneğini kullanın. Örnekler:emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26Emülatör çalışırken ağ hızında değişiklik yapmak için konsola bağlanın ve
network speedkomutunu kullanın:network speed 14.4 80network capture {start| stop} filePaketleri 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 dizinindekiconsole_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} phonenumbergsm 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} stateVeri 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 sourceMevcut 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} fileEkran kaydı işlemini başlatır veya durdurur.- start file: Video kaydını başlatır. Çıkış dosyası, zorunlu
.webmuzantı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.
- start file: Video kaydını başlatır. Çıkış dosyası, zorunlu
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_pathSanal 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 scaleEkran çö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 monitorTemel 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 pidBelirtilen uygulama işlemi, işlenmeyen bir istisna veya kilitlenme yaşadığında otomatik sistem anlık görüntülerini etkinleştirir.phonenumber numberHedef 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ı
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:
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.
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.
Uygulamanız parmak izi kimlik doğrulama ekranını gösterirken konsola gidin ve
finger touchkomutu ile oluşturduğunuz parmak izi kimliğini girin. Bu işlem, parmakla dokunmayı simüle eder.Ardından, parmak kaldırma işlemini simüle etmek için
finger removekomutunu girin. Uygulamanız, kullanıcı parmak izi sensörüne dokunup parmağını kaldırmış gibi yanıt vermelidir.