Çalışan her sanal cihaz, emüle edilmiş cihaz ortamını sorgulamanıza ve kontrol etmenize olanak tanıyan bir konsol sağlar. Örneğin, uygulamanız emülatörde çalışırken bağlantı noktası yönlendirmeyi, ağ özelliklerini ve telefon etkinliklerini yönetmek için konsolu kullanabilirsiniz.
Aşağıdaki komutların çalıştırılabilmesi için bir emülatörün çalışıyor olması gerekir. Emülatör çalıştırma hakkında daha fazla bilgi için Uygulamaları Android Emülatör'de çalıştırma ve Emülatörü komut satırından başlatma başlıklı makaleleri inceleyin.
Konsol oturumunu başlatma ve durdurma
Konsola erişmek ve bir terminal penceresinden komut girmek için konsol bağlantı noktasına bağlanmak üzere telnet'i kullanın ve kimlik doğrulama jetonunuzu girin. Konsol her OK gösterdiğinde komut almaya hazırdır. Tipik bir istem yoktur.
Çalışan bir sanal cihazın konsoluna bağlanmak için:
Bir terminal penceresi açıp aşağıdaki komutu girin:
telnet localhost console-portEmülatör pencere başlığı, ayrı bir pencerede çalıştırıldığında konsol bağlantı noktası numarasını listeler ancak araç penceresinde çalıştırıldığında listelemez. Örneğin, 5554 numaralı konsol bağlantı noktasını kullanan bir emülatörün pencere başlığı Pixel8_API_34:5554 olabilir. Ayrıca
adb deviceskomutu, çalışan sanal cihazların ve bunların konsol bağlantı noktası numaralarının listesini yazdırır. Daha fazla bilgi için Cihaz sorgulama başlıklı makaleyi inceleyin.Not: Emülatör, 5554-5585 bağlantı noktalarındaki bağlantıları dinler ve yalnızca localhost'tan gelen bağlantıları kabul eder.
Konsolda OK mesajı gösterildikten sonra
auth auth_tokenkomutunu girin.Konsol komutları girebilmeniz için önce emülatör konsolunun kimliğinin doğrulanması 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 dosya 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-verbosedeğerini girin.Konsol oturumundan çıkmak için
quitveyaexitgirin.
Aşağıda örnek bir oturum verilmiştir:
$ telnet localhost 5554
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'/Users/me/.emulator_console_auth_token'
OK
auth 123456789ABCdefZ
Android Console: type 'help' for a list of commands
OK
help-verbose
Android console command help:
help|h|? Prints a list of commands
help-verbose Prints a list of commands with descriptions
ping Checks if the emulator is alive
automation Manages emulator automation
event Simulates hardware events
geo Geo-location commands
gsm GSM related commands
cdma CDMA related commands
crash Crashes the emulator instance
crash-on-exit Simulates crash on exit for the emulator instance
kill Terminates the emulator instance
restart Restarts the emulator instance
network Manages network settings (ethernet and cellular only)
power Power related commands
quit|exit Quits control session
redir Manages port redirections
sms SMS related commands
avd Controls virtual device execution
qemu QEMU-specific commands
sensor Manages emulator sensors
physics Manages physical model
finger Manages emulator finger print
debug Controls the emulator debug output tags
rotate Rotates the screen clockwise by 90 degrees
screenrecord Records the emulator's display
fold Folds the device
unfold Unfolds the device
multidisplay Configures the multi-display
nodraw turn on/off NoDraw mode. (experimental)
resize-display resize the display resolution to the preset size
virtualscene-image customize virtualscene image for virtulscene camera
proxy manage network proxy server settings
phonenumber set phone number for the device
try 'help <command>' for command-specific help
OK
exit
Connection closed by foreign host.
Tek seferlik komutlar
Oturumun açık kalmasına gerek yoksa adb emu kısayolunu kullanın. Bu kısayol, komutu yürütür ve kontrolü hemen çağıran kabuğa döndürür:
adb emu command commandParameter
adb emu ile çağırma işlemi, kullanılabilir emülatöre bağlanır. Aynı anda birden fazla emülatör çalıştırıyorsanız hedeflediğiniz emülatörün seri numarasını iletmeniz gerekir:
adb -s emulator-serial emu command commandParameter
Emülatör komut referansı
Aşağıdaki listelerde, parametreleri ve değerleriyle birlikte emülatör konsolu komutları açıklanmaktadır:
Genel komutlar
avd {stop| start| status| name}Sanal cihazı aşağıdaki gibi sorgular, kontrol eder ve yönetir:- stop: Cihazın yürütülmesini durdurur.
- start: Cihazın yürütülmesini başlatır.
- status: Çalışıyor veya durdurulmuş olabilen sanal cihaz durumunu sorgular.
- name: Sanal cihaz adını sorgular.
avd snapshot {list| save name| load name| delete name}Cihaz durumunu anlık görüntülerde aşağıdaki şekilde kaydeder ve geri yükler:- list: Kaydedilen tüm anlık görüntüleri listeler.
- save name: Anlık görüntüyü ad olarak kaydeder.
- load name: Adlandırılmış anlık görüntüyü yükler.
- delete name: Adlandırılmış anlık görüntüyü siler.
Aşağıdaki örnekte,
firstactivitysnapshotadlı bir anlık görüntü kaydedilmektedir:avd snapshot save firstactivitysnapshotfold: Cihaz katlanabilirse ve şu anda katlanmamış durumdaysa daha küçük ekran yapılandırmasını göstermek için cihazı katlar.
unfold: Cihaz katlanabilirse ve şu anda katlanmış durumdaysa daha büyük ekran yapılandırmasını göstermek için cihazı açar.
kill: Sanal cihazı sonlandırır.
ping: Sanal cihazın çalışıp çalışmadığını kontrol eder.
rotate: AVD'yi saat yönünün tersine 45 derecelik artışlarla döndürür.
Emülatörün kilitlenmesi
crash: Uygulama yürütülürken emülatörün kilitlenmesine neden olur.
crash-on-exit: Uygulama çıktığında emülatörün kilitlenmesine neden olur.
Etiketlerde hata ayıklama
debug tags ...: Emülatörün belirli bölümlerinden gelen hata ayıklama mesajlarını etkinleştirir veya devre dışı bırakır. Etiket parametresi,
emulator -help-debug-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 sık kullanılan seçenekler tablosuna bakın. Aşağıdaki örnekte radyo etiketi etkinleştirilir:debug radio
Bağlantı noktası yönlendirmesi
redir list: Geçerli bağlantı noktası yönlendirmesini listeler.
redir add protocol:host-port:guest-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: Verilerin emülatörde 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
Bir emülatörde çalışan uygulamalara bildirilen coğrafi konumu, emülatöre GPS düzeltmesi göndererek ayarlar.
Sanal cihaz çalışır çalışmaz aşağıdaki coğrafi komutlardan birini verebilirsiniz. Emülatör, sahte bir konum sağlayıcı oluşturarak girdiğiniz konumu ayarlar. Bu sağlayıcı, uygulamalar tarafından ayarlanan konum dinleyicilerine yanıt verir ve konumu LocationManager'a sağlar. Herhangi bir uygulama, konum yöneticisine sorgu göndererek LocationManager.getLastKnownLocation("gps") çağrısını yaparak emüle edilmiş cihazın mevcut GPS düzeltmesini alabilir.
geo fix longitude latitude [altitude] [satellites] [velocity]: Emülatöre basit bir GPS düzeltmesi gönderir. Boylam ve enlemi ondalık derece cinsinden belirtin. Konumu belirlemek için kullanılacak uydu sayısını belirtmek üzere 1 ile 12 arasında bir sayı kullanın ve yüksekliği metre, hızı ise knot cinsinden belirtin.
geo nmea sentence: NMEA 0183 cümlesini, emüle edilmiş bir GPS modemden gönderilmiş gibi emüle edilmiş cihaza gönderir. Cümleye "$GP" ile başlayın. Şu anda yalnızca "$GPGGA" ve "$GPRCM" cümleleri desteklenmektedir. Aşağıdaki örnek, bir GPS alıcısının saat, konum ve düzeltme verilerini alan bir GPGGA (Küresel Konum Belirleme Sistemi Düzeltme Verileri) cümlesidir:
geo nmea $GPGGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx
Sahte donanım etkinlikleri
Emülatör konsolunun donanım etkinliği alt sistemi, cihazla neredeyse her türlü fiziksel etkileşimi simüle etmenize olanak tanır. Buna fiziksel düğmeler, ekrana dokunma/hareketler, döner düğmeler, joystick girişleri ve donanım anahtarları dahildir.
Etkinlik türleri: Tüm sahte etkinlik türlerini listeler. Kod içeren etkinliklerde kod sayısı sağ tarafta parantez içinde listelenir. Örnek çıkış:
event types event <type> can be an integer or one of the following aliases: EV_SYN EV_KEY (405 code aliases) EV_REL (2 code aliases) EV_ABS (27 code aliases) EV_MSC EV_SW (4 code aliases) EV_LED EV_SND EV_REP EV_FF EV_PWR EV_FF_STATUS EV_MAX OKevent send types [types ...]: Bir veya daha fazla sahte etkinlik türü gönderir.
event codes type: Belirtilen sahte etkinlik türüyle ilgili etkinlik kodlarını listeler.
event send type[:code]:[value] [...]: İsteğe bağlı kodlar ve kod değerleriyle bir veya daha fazla sahte etkinlik gönderir.
EV_KEY — Key Code References
EV_KEY etkinlik türü, düğmeye basma ve düğmeyi bırakma işlemlerini simüle etmek için kullanılır. Aşağıdaki tablolarda, desteklenen anahtar kodlarının geniş listesi mantıksal kategorilere ayrılmıştır. Her tuş kodu için 1 değeri göndermek tuşa basmayı, 0 değeri göndermek ise tuşu bırakmayı simüle eder. 2 değeri, tuş tekrarını gösterir.
Alt tablo A: Android Sistem Anahtarları
| Kod | Açıklama |
|---|---|
KEY_HOME |
Ana sayfa düğmesi tetikleyicisi |
KEY_BACK |
Geri düğmesi tetikleyicisi |
KEY_MENU |
Menü (taşma) düğmesi |
KEY_POWER |
Güç düğmesi (basma/uzun basma) |
KEY_VOLUMEUP |
Sesi artırma düğmesi tetikleyicisi |
KEY_VOLUMEDOWN |
Sesi azaltma düğmesi tetikleyicisi |
KEY_CAMERA |
Fiziksel kamera deklanşör düğmesi |
KEY_FOCUS |
Kameranın otomatik odaklama deklanşörü |
KEY_SEARCH |
Arama düğmesi tetikleyicisi |
KEY_SLEEP |
Uyku komutu tetikleyicisi |
KEY_WAKEUP |
Uyandırma komutu tetikleyicisi |
KEY_NOTIFICATION |
Bildirim çekmecesini açma |
KEY_MUTE |
Sistem ses çıkışını kapatma |
KEY_MICMUTE |
Mikrofon girişinin sesini kapatma |
KEY_BRIGHTNESSDOWN |
Ekran parlaklığını azaltma |
KEY_BRIGHTNESSUP |
Ekran parlaklığını artırma |
KEY_PHONE |
Varsayılan çevirici uygulamasını açma |
KEY_SEND |
Telefon araması gönderme veya başlatma |
KEY_HEADSETHOOK |
Mikrofonlu kulaklık kancası (yanıtlama/kapatma) |
KEY_SCREEN |
Ekran koruyucuyu etkinleştirme komutu |
KEY_CONFIG |
Yapılandırma sistemi menüsü |
KEY_SWITCHVIDEOMODE |
Sistemin video modunu değiştirme |
KEY_KBDILLUMTOGGLE |
Klavye aydınlatmasını açma/kapatma |
B Alt Tablosu: Medya ve Oynatma Kontrolleri
| Kod | Açıklama |
|---|---|
KEY_PLAYPAUSE |
Oynatma ve duraklatma durumunu değiştirme |
KEY_PLAY |
Medya oynatmayı başlatma |
KEY_PAUSECD |
CD oynatmayı duraklatma |
KEY_STOPCD |
CD oynatmayı durdurma |
KEY_NEXTSONG |
Sonraki parçaya geçme |
KEY_PREVIOUSSONG |
Önceki parçaya atlama |
KEY_REWIND |
Etkin parçayı geri sarma |
KEY_FASTFORWARD |
Etkin parçayı hızlı ileri sarma |
KEY_RECORD |
Tetikleyici komutunu kaydetme |
KEY_SHUFFLE |
Karıştırarak oynatmayı açma/kapatma |
KEY_REPEAT |
Tekrar oynatmayı açma/kapatma |
KEY_MEDIA |
Medya tuşu tetikleyicisi |
Alt tablo C: Gezinme ve Genel Klavyeler
| Kod | Açıklama |
|---|---|
KEY_UP |
D-pad Yukarı yönü |
KEY_DOWN |
D-pad Aşağı yönü |
KEY_LEFT |
D-pad sol yönü |
KEY_RIGHT |
D-pad sağ yönü |
KEY_PAGEUP |
Önceki sayfaya gitme |
KEY_PAGEDOWN |
Sonraki sayfaya gitme |
KEY_INSERT |
Anahtar tetikleyici ekleme |
KEY_DELETE |
Tuş tetikleyicisini silme |
KEY_ENTER |
Enter tuşu tetikleyicisi |
KEY_ESC |
Escape tuşu tetikleyicisi |
KEY_TAB |
Sekme tuşu tetikleyicisi |
KEY_SPACE |
Boşluk tuşu tetikleyicisi |
KEY_BACKSPACE |
Geri tuşu tetikleyicisi |
KEY_CLEAR |
Giriş arabelleğini temizleme |
KEY_CANCEL |
Etkin işlemi iptal etme |
KEY_OK |
Seçimi onaylama |
KEY_SELECT |
Öğe tetikleyiciyi seçin |
KEY_GOTO |
Belirlenen yere gitme |
KEY_HELP |
Yardım içeriğine erişme |
Alt tablo D: Alfanümerik Karakterler ve Tuş Takımı Sembolleri
- Standart alfabe harfleri:
KEY_AileKEY_Zarası (26 kod). - Sayısal tuş takımı tuşları:
KEY_1ileKEY_0arası (10 kod).
| Kod | Karakter Sembolü |
|---|---|
KEY_COMMA |
, |
KEY_DOT |
. |
KEY_SLASH |
/ |
KEY_SEMICOLON |
; |
KEY_APOSTROPHE |
' |
KEY_GRAVE |
\` |
KEY_MINUS |
- |
KEY_EQUAL |
= |
KEY_LEFTBRACE |
[ |
KEY_RIGHTBRACE |
] |
KEY_BACKSLASH |
\ |
KEY_KPASTERISK |
* (Sayısal tuş takımı) |
KEY_KPPLUS |
+ (Sayısal tuş takımı) |
KEY_KPMINUS |
- (Sayısal tuş takımı) |
KEY_KPDOT |
. (Sayısal tuş takımı) |
KEY_KPSLASH |
/ (Sayısal tuş takımı) |
KEY_KPENTER |
Enter (Sayısal tuş takımı) |
KEY_KPEQUAL |
= (Sayısal tuş takımı) |
KEY_KPCOMMA |
, (Sayısal tuş takımı) |
KEY_KPJPCOMMA |
, (Japonca düzen) |
KEY_KPLEFTPAREN |
( (Sayısal tuş takımı) |
KEY_KPRIGHTPAREN |
) (Sayısal tuş takımı) |
KEY_KPPLUSMINUS |
± (Sayısal tuş takımı) |
Alt tablo E: Değiştirici ve işlev tuşları
- Standart işlev tuşları:
KEY_F1ileKEY_F24(24 kod).
| Kod | Açıklama |
|---|---|
KEY_LEFTSHIFT |
Sol üst karakter klavye değiştiricisi |
KEY_RIGHTSHIFT |
Sağ Shift klavye değiştiricisi |
KEY_LEFTCTRL |
Sol Control klavye değiştiricisi |
KEY_RIGHTCTRL |
Sağ kontrol klavye değiştiricisi |
KEY_LEFTALT |
Sol Alt klavye değiştiricisi |
KEY_RIGHTALT |
Sağ Alt klavye değiştiricisi |
KEY_LEFTMETA |
Sol Meta/Command tuşu |
KEY_RIGHTMETA |
Sağ Meta/Command tuşu |
KEY_CAPSLOCK |
Caps Lock klavye geçişi |
KEY_NUMLOCK |
Num Lock klavye geçişi |
KEY_SCROLLLOCK |
Scroll Lock klavye açma/kapatma düğmesi |
KEY_COMPOSE |
Compose Character Helper |
KEY_FN |
Fiziksel klavyedeki FN tuşu |
KEY_FN_ESC |
İşlev tuşu kombinasyonları |
KEY_FN_1 |
Özel işlev kısayolu 1 |
KEY_FN_2 |
Özel işlev kısayolu 2 |
KEY_FN_D |
Özel işlev kısayolu D |
KEY_FN_E |
Özel işlev kısayolu E |
KEY_FN_F |
Özel işlev kısayolu F |
KEY_FN_S |
Özel işlev kısayolu S |
KEY_FN_B |
Özel işlev kısayolu B |
Alt tablo F: Oyun Kumandaları ve Joystick'ler
| Kod | Açıklama |
|---|---|
BTN_A / BTN_B / BTN_C |
Denetleyicinin A/B/C aksiyon düğmeleri |
BTN_X / BTN_Y / BTN_Z |
Denetleyici aksiyon düğmeleri X/Y/Z |
BTN_START |
Oyun kumandası Başlat menüsü düğmesi |
BTN_SELECT |
Oyun kumandası seçme düğmesi |
BTN_MODE |
Kontrol cihazı modu anahtarı |
BTN_TL/BTN_TR |
Sol / sağ omuz bumper'ları |
BTN_TL2/BTN_TR2 |
Sol / sağ analog tetikleyiciler |
BTN_THUMBL/BTN_THUMBR |
Sol / sağ çubuk tıklamaları |
BTN_DPAD_UP |
Oyun kumandası D-pad Yukarı tetikleyicisi |
BTN_DPAD_DOWN |
Oyun kumandası D-pad Aşağı tetikleyicisi |
BTN_DPAD_LEFT |
Oyun kumandası D-pad sol tetikleyici |
BTN_DPAD_RIGHT |
Oyun kumandası D-pad sağ tetikleyici |
BTN_THUMB |
Kontrol çubuğu birincil başparmak tetikleyicisi |
BTN_TOP/BTN_TOP2 |
Kontrol çubuğu üst düğmeleri |
BTN_PINKIE |
Kontrol çubuğu küçük parmak düğmesi tetikleyicileri |
BTN_BASE - _BASE6 |
Kontrol çubuğu platform tabanı düğmeleri |
BTN_DEAD |
Etkin olmayan oyun kumandası ölü bölge işareti |
BTN_TRIGGER |
Fiziksel joystick el tetikleyicisi |
BTN_JOYSTICK |
Genel joystick giriş kodu |
Alt Tablo G: Fare, Dokunma ve Kalem Girişleri
| Kod | Açıklama |
|---|---|
BTN_MOUSE |
Genel fare işaretçisi etkinliği |
BTN_LEFT |
Sol fare düğmesi tıklaması |
BTN_RIGHT |
Sağ fare düğmesiyle tıklama |
BTN_MIDDLE |
Orta kaydırma tekerleği tıklaması |
BTN_SIDE |
Gezinme yan tuşu tetikleyicisi |
BTN_EXTRA |
Ekstra fare düğmesi tetikleyicisi |
BTN_FORWARD |
Tarayıcıda ileri gezinme tıklaması |
BTN_BACK |
Tarayıcıda geri gezinme tıklaması |
BTN_TASK |
Sistem görev değiştirici tuşu |
BTN_TOUCH |
Ekrana fiziksel temas algılandı |
BTN_STYLUS |
Aktif ekran kalemi yakınlığı |
BTN_STYLUS2 |
Kalemdeki ikincil gövde anahtarı |
BTN_TOOL_PEN |
Ekran kalemi aracı tanımlayıcısı |
BTN_TOOL_RUBBER |
Ekran kalemi silgi aracı tanımlayıcısı |
BTN_TOOL_BRUSH |
Painter fırça aracı tanımlayıcısı |
BTN_TOOL_PENCIL |
Kalem aracı tanımlayıcısı |
BTN_TOOL_AIRBRUSH |
Airbrush paint tool identifier |
BTN_TOOL_FINGER |
Dokunmatik ekrana parmakla dokunma |
BTN_TOOL_MOUSE |
Harici fare aracı tanımlayıcısı |
BTN_TOOL_LENS |
Optik büyüteç lens aracı |
BTN_TOOL_DOUBLETAP |
Hareketle iki kez dokunma hızını işaretleme |
BTN_TOOL_TRIPLETAP |
Üç kez dokunma hareketi hız işareti |
H alt tablosu: Uygulama Kısayolları
| Kod | Hedef İşlem |
|---|---|
KEY_WWW |
Varsayılan web tarayıcısını başlatır. |
KEY_MAIL |
Varsayılan e-posta istemcisini açar. |
KEY_BOOKMARKS |
Tarayıcı yer işaretleri listesini açar |
KEY_CALC |
Hesap makinesi yardımcı programını açar. |
KEY_FILE |
Yerel dosyaları keşfetme aracını açar. |
KEY_EDIT |
Doküman düzenleme tetikleyicisi |
KEY_NEW |
Doküman oluşturma yeni tetikleyicisi |
KEY_OPEN |
Belge açma tetikleyicisi |
KEY_SAVE |
Dosya kaydetme görevi tetikleyicisi |
KEY_CLOSE |
Dosya kapatma görevi tetikleyicisi |
KEY_PRINT |
Dosya yazdırma görevi tetikleyicisi |
KEY_COPY |
Pano tamponu kopyalama işlemi |
KEY_PASTE |
Pano arabelleği ekleme işlemi |
KEY_CUT |
Pano arabelleği kesme işlemi |
KEY_UNDO |
Pano tamponu geri alma işlemi |
KEY_REDO |
Pano arabelleği yeniden yapma işlemi |
KEY_CANCEL |
Arabellek iptal işlemi tetikleyicisi |
KEY_FIND |
Belge arama yardımcı programı |
KEY_REFRESH |
Doküman yenileme yardımcı programı |
KEY_EXIT |
Doküman kapatma yardımcı programı |
KEY_DOCUMENTS |
Sistem belgeleri portalını başlatır. |
KEY_HOMEPAGE |
Ana sayfa tarayıcısını başlatır. |
KEY_FAVORITES |
Tarayıcı favorileri portalını açar. |
KEY_CHAT |
Anlık mesajlaşma programını başlatır. |
KEY_EMAIL |
Alternatif e-posta lansman tetikleyicisi |
KEY_FINANCE |
Borsa/finans aracını açma |
KEY_SPORT |
Spor izleme yardımcı programını açma |
KEY_SHOP |
Dijital alışveriş portalını açma |
KEY_PLAYER |
Birincil medya oynatıcıyı açma |
KEY_MP3 |
Birincil MP3 çaları açma |
KEY_TEXT |
Varsayılan metin düzenleyiciyi açma |
KEY_LIST |
Kontrol listesi yardımcı programını açma |
KEY_MEMO |
Not defteri / not yardımcı programını açma |
KEY_CALENDAR |
Takvim / gündem portalını açar |
KEY_DIRECTORY |
Sistemin adres dizinini açar. |
KEY_COMPUTER |
Özellikler Gezgini'ni açar |
KEY_TV/KEY_TV2 |
Televizyon portalını başlatır. |
KEY_RADIO |
Radyo yardımcı programını başlatır. |
KEY_CD/KEY_DVD |
Optik sürücü okuyucusunu etkinleştirir. |
KEY_AUDIO/KEY_VIDEO |
Medya spesifikasyonlarına erişim |
KEY_TUNER |
Alıcıları/tuner'ları yapılandırır |
KEY_SAT/KEY_SAT2 |
Uydu feed'lerini yapılandırır. |
KEY_TAPE |
Kasetli medya oynatıcıyı oynatma |
KEY_VCR |
VCR oynatıcı feed'ini oynatma |
KEY_VCR2 |
VCR 2 oynatıcı feed'ini oynat |
KEY_AUX |
Yardımcı medya bağlantı noktası girişleri |
KEY_SETUP |
Kurulum yapılandırma menüsü |
KEY_PROG1 - _PROG4 |
Kullanıcı tanımlı program anahtarları |
KEY_ZOOM |
Görüntü alanını yakınlaştırma düğmesi |
KEY_MODE |
Görüntü alanı modu seçimi |
KEY_KEYBOARD |
Sanal klavyeyi gösterme/gizleme |
KEY_LANGUAGE |
Ses parçasının dilini değiştirme |
KEY_TITLE |
Medya başlığı seçeneklerini açma |
KEY_SUBTITLE |
Altyazı arayüzünü açma/kapatma |
KEY_ANGLE |
Video kamera açılarını değiştirme |
KEY_EPG |
Elektronik program rehberini açma |
KEY_PVR |
Kişisel video kaydediciyi açma |
KEY_MHP |
Açık multimedya ana platformu |
KEY_CHANNEL |
TV frekans ayarlayıcı kanallarını açma |
KEY_CHANNELUP |
TV kanalını yukarı ayarlama |
KEY_CHANNELDOWN |
TV kanalını aşağı ayarlama |
KEY_RED |
Kırmızı etkileşimli düğme |
KEY_GREEN |
Yeşil etkileşimli düğme |
KEY_YELLOW |
Sarı etkileşimli düğme |
KEY_BLUE |
Mavi etkileşimli düğme |
KEY_FIRST |
İlk öğe seçeneğini belirleyin |
KEY_LAST |
Son öğe seçeneğini belirleyin |
KEY_NEXT |
Sonraki parça seçeneğini belirleme |
KEY_PREVIOUS |
Önceki parça seçeneğini belirleme |
KEY_RESTART |
Medya parçası döngüsünü yeniden başlatma |
KEY_SLOW |
Ağır çekimde oynatma seçeneği |
KEY_AB |
A-B tekrarı dizisi döngüsü |
KEY_PLAYCD |
CD çalar oynatma komutu |
KEY_PAUSECD |
CD deck pause command |
KEY_STOPCD |
CD çalar durdurma komutu |
KEY_DIGITS |
Dijital tuş takımı giriş komutu |
KEY_TEEN |
Tuş takımı genç değerleri seçeneği |
KEY_TWEN |
Tuş takımı twen değerleri seçeneği |
KEY_DEL_EOL |
Satır arabelleğinin sonuna kadar silme |
KEY_DEL_EOS |
Ekran arabelleğinin sonuna kadar silme |
KEY_INS_LINE |
Yeni satır arabelleği ekleme |
KEY_BRL_DOT1 - _DOT8 |
Braille ekran düğmesi girişleri |
KEY_VOICECOMMAND |
Sesli asistan uygulamasını başlatır. |
KEY_SELECTIVE_SCREEN |
Bölgesel ekran alıntısı aracını tetikler. |
KEY_BATTERY |
Pil bildirimlerini sorgular. |
KEY_STAR/KEY_SHARP |
Telefon tuş takımı sembolleri |
KEY_PLUS |
Telefon tuş takımı ve artı işareti |
KEY_INFO |
Bilgi paneli yer paylaşımını göster |
KEY_TIME |
Mevcut saat zamanını göster |
KEY_VENDOR |
Tedarikçi spesifikasyonlarını sorgular |
KEY_ARCHIVE |
Yerel arşiv yardımcı programını açar |
KEY_PROGRAM |
Program parametrelerini yapılandırır. |
KEY_POWER2 |
Yedek gücü tetikler |
EV_ABS — Mutlak Hareket Etkinlikleri
EV_ABS etkinlik türü, hassas dokunmaları, sürükle ve bırak hareketlerini, çoklu dokunma ile sıkıştırma işlemlerini ve kontrol çubuğu ayarlamalarını simüle etmek için çok önemlidir. Haritanın altındaki mutlak koordinatlar, doğrudan temel fiziksel ekran çözünürlüğüne karşılık gelir.
| Kod | Koordinat aralığı | Açıklama |
|---|---|---|
ABS_MT_TRACKING_ID |
-1 veya ≥0 |
İzleme kimliği; -1 dokunmaya son verir |
ABS_MT_POSITION_X |
0 - 1767 |
X koordinatı (Pixel Fold) |
ABS_MT_POSITION_Y |
0 - 2207 |
Y koordinatı (Pixel Fold) |
ABS_MT_TOUCH_MAJOR |
piksel | Dokunma alanının büyük eksen genişliği |
ABS_MT_TOUCH_MINOR |
piksel | Dokunma alanının küçük eksen genişliği |
ABS_MT_WIDTH_MAJOR |
piksel | Aracın büyük eksen genişliği |
ABS_MT_WIDTH_MINOR |
piksel | Takımın kısa eksen genişliği |
ABS_MT_ORIENTATION |
0 - 255 |
Temas yönü açısı |
ABS_MT_PRESSURE |
0 - 255 |
Temas kuvveti büyüklüğü |
ABS_MT_DISTANCE |
mm | Ekrandan uzaklık |
ABS_MT_TOOL_TYPE |
0 - 2 |
0=parmak, 1=kalem, 2=kurşun kalem |
ABS_MT_BLOB_ID |
Tam sayı | Kişi blob tanımlayıcısı |
ABS_MT_TOOL_X |
piksel | Aracın X konumu koordinatı |
ABS_MT_TOOL_Y |
piksel | Aracın Y konumu koordinatı |
ABS_MT_SLOT |
0 - N |
Etkin yer (B Protokolü) |
ABS_X / _Y / _Z |
analog | Kontrol çubuğu koordinat eksenleri |
ABS_RX / _RY / _RZ |
analog | Kontrol çubuğu dönme eksenleri |
ABS_THROTTLE/_BRAKE |
analog | Pedallar ve direksiyon kontrolleri |
ABS_HAT0X/_HAT0Y |
-1 / 0 / 1 |
D-pad şapka ve POV anahtarları |
ABS_PRESSURE |
0 - 255 |
Kalem / işaretçi kuvvet düzeyi |
ABS_DISTANCE |
mm | Üzerine gelme mesafesi (ekran kalemi) |
ABS_TILT_X/_TILT_Y |
derece | Ekran kalemi eğim açıları |
ABS_VOLUME |
analog | Kumanda ses seviyeleri |
Android'deki dokunma etkileşimi, çoklu dokunma (MT) protokolleriyle sağlanır. Modern emülatörler hem A Protokolü'nü (durum bilgisiz, senkronizasyon işaretleriyle ayrılmış iletişim paketleri gönderir) hem de B Protokolü'nü (durum bilgili, kişileri özel izleme yuvalarına atar) uygular. B protokolü, yakınlaştırma gibi hareketler için birden fazla eşzamanlı dokunuşun verimli bir şekilde izlenmesine olanak tanır.
EV_REL ve EV_SW: Hareket ve donanım anahtarları
EV_REL etkinlik kategorisi, göreli işaretçi veya koordinat değişikliklerini yönetir. Bu kategori, öncelikle harici fare hareketlerini ya da kaydırma tekerleklerini taklit etmek için kullanılır. EV_SW etkinlik kategorisi, fiziksel cihaz anahtarlarını (ör. katlanabilir telefon veya tabletin katlanıp katlanmadığı ya da harici ses donanımının takılı olup olmadığı) yönetir.
| Kod | Değerler | Açıklama |
|---|---|---|
REL_X |
Delta | Yatay imleç hareketi |
REL_Y |
Delta | Dikey imleç hareketi |
SW_LID |
0/1 |
Dizüstü bilgisayar kapağının durumu (0=Açık, 1=Kapalı) |
SW_TABLET_MODE |
0/1 |
Tablet modu durumu (0=Kapalı, 1=Etkin) |
SW_HEADPHONE_INSERT |
0/1 |
Kulaklık jakı durumu (0=Çıkış, 1=Giriş) |
SW_MICROPHONE_INSERT |
0/1 |
Mikrofon jakı durumu (0=Çıkış, 1=Giriş) |
Komut Gönderme Söz Dizimi
Bu kodları göndermek için konsol komutunu iki nokta üst üste ile ayrılmış türler, kodlar ve değerlerle biçimlendirin. Tek bir dizede birden fazla koordinat değişikliğini sıraya alabilirsiniz. En önemlisi, emülatör çerçevesinin bu girişleri birlikte paketleyip işlemesi gerektiğini belirtmek için her zaman son bir senkronizasyon işareti (EV_SYN:0:0) ekleyin.
Etkinlik komut dosyası oluşturma ve hareket örnekleri
Telnet, çok parçalı parametrelerin gönderilmesine izin verdiğinden gerçekçi fiziksel hareket dizilerini simüle edebilirsiniz. Aşağıda, ana makine konsolunuzdaki hareketleri otomatikleştirmenize yardımcı olacak ham etkinlik komut dosyası yapıları verilmiştir.
Ekrana Dokunma İşlemini Simüle Etme
Hedef koordinatta temiz bir ekran dokunuşu gerçekleştirmek için izleme kimliği atayın, ekrandaki X ve Y koordinatlarını belirtin, dokunma temasını simüle edin, senkronize edin ve ardından bırakın.
# Press down at coordinate (400, 800) and sync
event send EV_ABS:ABS_MT_TRACKING_ID:1
OK
event send EV_ABS:ABS_MT_POSITION_X:400
OK
event send EV_ABS:ABS_MT_POSITION_Y:800
OK
event send EV_KEY:BTN_TOUCH:1
OK
event send EV_SYN:0:0
OK
# Lift finger up and sync
event send EV_ABS:ABS_MT_TRACKING_ID:-1
OK
event send EV_KEY:BTN_TOUCH:0
OK
event send EV_SYN:0:0
OK
Dikey kaydırmayı (kaydırma) simüle etme
Kaydırma hareketi yapmak için başlangıç koordinatında teması basılı tutun, ara hareket koordinatı çerçeveleri gönderin ve sonunda bırakın.
# Finger touch down at start coordinate (500, 1600)
event send EV_ABS:ABS_MT_TRACKING_ID:2
OK
event send EV_ABS:ABS_MT_POSITION_X:500
OK
event send EV_ABS:ABS_MT_POSITION_Y:1600
OK
event send EV_KEY:BTN_TOUCH:1
OK
event send EV_SYN:0:0
OK
# Move coordinates upward dynamically
event send EV_ABS:ABS_MT_POSITION_Y:1200
OK
event send EV_SYN:0:0
OK
event send EV_ABS:ABS_MT_POSITION_Y:800
OK
event send EV_SYN:0:0
OK
event send EV_ABS:ABS_MT_POSITION_Y:400
OK
event send EV_SYN:0:0
OK
# Finger release at coordinate (500, 400)
event send EV_ABS:ABS_MT_TRACKING_ID:-1
OK
event send EV_KEY:BTN_TOUCH:0
OK
event send EV_SYN:0:0
OK
İki parmakla yakınlaştırma hareketini simüle etme
İki parmakla yakınlaştırmayı tetiklemek için birbirinden uzaklaşan iki eşzamanlı dokunma koordinatını izlemek ve koordine etmek üzere etkin MT yuvalarını (0 ve 1) kullanın.
# Finger 1 down at (500, 1000) using slot 0
event send EV_ABS:ABS_MT_SLOT:0
OK
event send EV_ABS:ABS_MT_TRACKING_ID:10
OK
event send EV_ABS:ABS_MT_POSITION_X:500
OK
event send EV_ABS:ABS_MT_POSITION_Y:1000
OK
event send EV_KEY:BTN_TOUCH:1
OK
event send EV_SYN:0:0
OK
# Finger 2 down at (600, 1000) using slot 1
event send EV_ABS:ABS_MT_SLOT:1
OK
event send EV_ABS:ABS_MT_TRACKING_ID:11
OK
event send EV_ABS:ABS_MT_POSITION_X:600
OK
event send EV_ABS:ABS_MT_POSITION_Y:1000
OK
event send EV_SYN:0:0
OK
# Fingers slide apart from each other
event send EV_ABS:ABS_MT_SLOT:0
OK
event send EV_ABS:ABS_MT_POSITION_X:300
OK
event send EV_SYN:0:0
OK
event send EV_ABS:ABS_MT_SLOT:1
OK
event send EV_ABS:ABS_MT_POSITION_X:800
OK
event send EV_SYN:0:0
OK
# Lift Finger 1 using slot 0
event send EV_ABS:ABS_MT_SLOT:0
OK
event send EV_ABS:ABS_MT_TRACKING_ID:-1
OK
event send EV_SYN:0:0
OK
# Lift Finger 2 using slot 1
event send EV_ABS:ABS_MT_SLOT:1
OK
event send EV_ABS:ABS_MT_TRACKING_ID:-1
OK
event send EV_KEY:BTN_TOUCH:0
OK
event send EV_SYN:0:0
OK
Kulaklık Bağlantısı Değişimini Simüle Etme
Ses yönlendirme anahtarlarını test etmek için kulaklık jakı takma veya çıkarma işlemlerini simüle edin. 1 değeri jakın takılmasını, 0 ise kulaklığın çıkarılmasını ifade eder.
# Simulate headphones plugged in
event send EV_SW:SW_HEADPHONE_INSERT:1 EV_SYN:0:0
OK
# Simulate headphones unplugged
event send EV_SW:SW_HEADPHONE_INSERT:0 EV_SYN:0:0
OK
Gerçek bir cihazdan Console Event Codes'u keşfetme
Herhangi bir özel işlem veya düğme hareketi için tam etkinlik söz dizimi sırasını öğrenmek üzere adb shell üzerinden bağlanın ve getevent teşhis yardımcı programını çalıştırın. Emülatörün GUI'siyle etkileşimde bulunduğunuzda konsolda tam etkinlik kodları, türleri ve konumları yazdırılır.
# Run getevent to monitor input events dynamically
adb shell getevent -lt
/dev/input/event12: EV_KEY KEY_POWER DOWN
/dev/input/event12: EV_SYN SYN_REPORT 00000000
/dev/input/event12: EV_KEY KEY_POWER UP
/dev/input/event12: EV_SYN SYN_REPORT 00000000
- Etkinlik kısa mesajı: Tuş basımlarını simüle eden bir karakter dizisi gönderir. İleti, UTF-8 dizesi olmalıdır. Unicode gönderiler, mevcut cihaz klavyesine göre ters eşlenir ve desteklenmeyen karakterler sessizce silinir.
Güç durumu kontrolleri
Güç ekranı: Pil ve şarj cihazı durumunu gösterir.
power ac {on| off}: AC şarj durumunu etkin veya devre dışı olarak ayarlar.
power status {unknown| charging| discharging| not-charging| full}: Changes battery status as specified.
power present {true| false}: Pilin varlık durumunu ayarlar.
power health {unknown| good| overheat| dead| overvoltage| failure}: Pilin sağlık durumunu ayarlar.
power capacity percent: Kalan pil kapasitesi durumunu yüzde olarak (0-100) ayarlar.
Ağ bağlantısı durumu (yalnızca Ethernet ve hücresel)
Ağ durumu: Ağ durumunu ve mevcut gecikme ile hız özelliklerini kontrol eder.
network delay latencyEmüle edilen ağ gecikmesini değiştirir.Emülatör, uygulamanızı gerçek çalışma koşullarına daha uygun bir ortamda test edebilmeniz için çeşitli ağ gecikmesi seviyelerini simüle etmenize olanak tanır. Emülatör başlatılırken bir gecikme düzeyi veya aralığı ayarlayabilir ya da uygulama emülatörde çalışırken gecikmeyi değiştirmek için konsolu kullanabilirsiniz.
Ağ gecikmesinin biçimi aşağıdakilerden biridir (sayılar milisaniye cinsindendir):
Ağ gecikmesi biçimi:
gprs: GPRS, minimum 150 ve maksimum 550 gecikme aralığını kullanır.
edge: Minimum 80 ve maksimum 400 gecikme aralığını kullanan EDGE/EGPRS.
umts: Minimum 35 ve maksimum 200 gecikme aralığını kullanan UMTS/3G.
none: Gecikme yok.
num: Belirtilen gecikmeyi milisaniye cinsinden taklit eder.
min:max: Belirtilen gecikme aralığını taklit eder.
Emülatör başlatılırken gecikmeyi ayarlamak için
-netdelayemülatör seçeneğini desteklenen bir gecikme değeriyle birlikte 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 bir aktarım hızı veya aralığı ayarlayabilir ya da uygulama emülatörde çalışırken hızı değiştirmek için konsolu kullanabilirsiniz.Ağ hızının biçimi aşağıdakilerden biridir (sayılar kilobit/sn cinsindendir):
Ağ hızı biçimi:
gsm: 14,4 yukarı ve 14,4 aşağı hızını kullanan GSM/CSD.
hscsd: 14,4 yukarı ve 43,2 aşağı hızını kullanan HSCSD.
gprs: 40,0 yükleme ve 80,0 indirme hızını kullanan GPRS.
edge: 118,4 kb/sn yükleme ve 236,8 kb/sn indirme hızını kullanan EDGE/EGPRS.
umts: 128, 0 yukarı ve 1920 aşağı hızını kullanan UMTS/3G.
hsdpa: 348, 0 yukarı ve 14.400,0 aşağı hızını kullanan HSDPA.
lte: 58.000 yükleme ve 173.000 indirme hızı kullanan LTE.
evdo: 75.000 yükleme ve 280.000 indirme hızı kullanan EVDO.
full: Sınırsız hız ancak bilgisayarınızın bağlantı hızına bağlıdır.
num: Hem yükleme hem de indirme için kullanılan hızı saniyede kilobit cinsinden tam olarak ayarlar.
up:down: Yükleme ve indirme için ayrı ayrı kilobit/sn. cinsinden tam hızları ayarlar.
Ağ hızını emülatör başlatılırken ayarlamak için
-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} fileDosyaya paket gönderir. Aşağıdaki listede parametreler ve parametre değerleri açıklanmaktadır:Not: Android Emulator 36.5 ve sonraki sürümlerde, Wi-Fi bağlantısı trafiği varsayılan olarak netsim tarafından işlenir. Ağ yakalama konsolu komutu yalnızca QEMU slirp yığını üzerinden yönlendirilen eski hücresel/WAN trafiğini yakalar. Modern emülatör sürümlerinde kablosuz, Bluetooth veya gelişmiş ağ paketlerini yakalamak için Gelişmiş Emülatör Ağ İletişimi Kılavuzu'ndaki Ağ trafiğini yakalama bölümüne bakın.
start file: Ağ paketlerini yakalamaya başlar. Güvenlik nedeniyle dosya, yalnızca dosya adı olmalıdır (
/gibi yol ayırıcılar ve..içermemelidir). Paket yakalama dosyası, AVD'nizin içerik dizinindekiconsole_out/klasörüne (örneğin,~/.android/avd/avd_name.avd/console_out/file) kaydedilir.stop file: Belirtilen dosyaya paket göndermeyi durdurur.
Telefon emülasyonu
Android emülatöründe, emülatörde telefon işlevlerini simüle etmenize olanak tanıyan kendi GSM ve CDMA emüle edilmiş modemleri bulunur. Örneğin, GSM ile gelen telefon aramalarını simüle edebilir, veri bağlantıları oluşturup sonlandırabilirsiniz. CDMA'da abonelik kaynağı ve tercih edilen dolaşım listesi sağlanır. Android sistemi, simüle edilmiş aramaları gerçek aramalar gibi işler. Emülatör, görüşme sesini desteklemiyor.
gsm {call| accept| cancel| busy} phonenumbergsm parametreleri şunlardır:- call: phonenumber adresinden gelen bir telefon aramasını simüle eder.
- accept: phonenumber adresinden gelen bir aramayı kabul eder ve arama durumunu etkin olarak değiştirir. Bir görüşmenin durumunu yalnızca mevcut durumu beklemede veya tutuluyor olduğunda etkin olarak değiştirebilirsiniz.
- cancel: Telefon numarasından gelen veya telefon numarasına yapılan giden telefon aramalarını sonlandırır.
- busy: Telefon numarasına yapılan giden aramayı kapatır ve arama durumunu "meşgul" olarak değiştirir. Bir aramanın durumunu yalnızca mevcut durumu "bekliyor" olduğunda "meşgul" olarak değiştirebilirsiniz.
gsm {data| voice} stateVeri durumu komutu, GPRS veri bağlantısının durumunu; ses durumu komutu ise GPRS ses bağlantısının durumunu aşağıdaki şekilde değiştirir:- unregistered: Ağ kullanılamıyor.
- home: Yerel ağda, dolaşımda değil.
- dolaşım: Dolaşım ağında.
- searching: Ağlar aranıyor.
- reddedildi: Yalnızca acil durum aramaları.
- off: Kayıtlı değil ile aynıdır.
- on: Evle aynı.
gsm hold: Bir aramanın durumunu bekletme olarak değiştirir. Bir arama durumunu yalnızca mevcut durumu etkin veya beklemede olduğunda bekletmeye alabilirsiniz.
gsm list: Tüm gelen ve giden aramaları ve durumlarını listeler.
gsm status: Mevcut GSM ses/veri durumunu bildirir. Değerler, ses ve veri komutları için açıklanan değerlerdir.
gsm signal {rssi| ber}Güncellemenin sonraki 15 saniyesinde bildirilen sinyal gücünü (rssi) ve bit hata oranını (ber) değiştirir. Aşağıdaki listede parametreler ve değerleri açıklanmaktadır:- rssi: Aralık, bilinmeyen için 0 ile 31 ve 99'dur.
- ber: Aralık, bilinmeyen için 0 ile 7 ve 99 arasındadır.
gsm signal-profile num: Sinyal gücü profilini ayarlar. num, 0 ile 4 arasında bir sayıdır.
cdma ssource sourceKaynak, CDMA operatörünün abonelerini ve değerlerini içeren ağ tabanlı bir izin verilenler listesi olmak üzere mevcut CDMA abonelik kaynağını aşağıdaki gibi ayarlar:- nv: Aboneliği kalıcı RAM'den okur.
- ruim: Aboneliği, Çıkarılabilir Kullanıcı Kimliği Modülü'nden (RUIM) okur.
cdma prl_version version: Mevcut tercih edilen dolaşım listesi (PRL) sürümünü boşaltır. Sürüm numarası, sistem seçimi ve edinme süreci sırasında kullanılan bilgileri içeren PRL veritabanı içindir.
Emülatördeki sensörleri yönetme
Bu komutlar, AVD'de hangi sensörlerin kullanılabildiğiyle ilgilidir. Sensör komutunu kullanmanın yanı sıra, emülatördeki ayarları Hız ölçer ve Ek sensörler sekmelerindeki Sanal sensörler ekranında görebilir ve düzenleyebilirsiniz.
Sensör durumu: Tüm sensörleri ve durumlarını listeler.
sensor get sensor-name: sensor-name için ayarları alır. Aşağıdaki örnekte, ivme sensörünün değeri alınır:
sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348İki nokta işaretiyle(:) ayrılmış hızlanma değerleri, sanal sensörlerin x, y ve z koordinatlarını ifade eder.
sensor set sensor-name value-x:value-y:value-z: sensor-name değerlerini ayarlar. Aşağıdaki örnekte, hızlanma sensörü iki nokta üst üste ile ayrılmış x, y ve z değerlerine ayarlanır.
sensor set acceleration 2.23517e-07:9.77631:0.812348
SMS emülasyonu
sms send sender-phone-number textmessageEmüle edilmiş gelen SMS oluşturur. Aşağıdaki listede parametreler ve değerleri açıklanmaktadır:- sender-phone-number: Rastgele bir sayısal dize içerir.
- textmessage: SMS mesajı.
Aşağıdaki örnekte, 4085555555 telefon numarasına "merhaba" mesajı gönderilir:
sms send 4085555555 hi there
Konsol, SMS mesajını Android çerçevesine yönlendirir. Bu çerçeve de mesajı, emülatördeki SMS'leri işleyen bir uygulamaya (ör. Mesajlar uygulaması) iletir. 10 rakam iletirseniz uygulama bunu telefon numarası olarak biçimlendirir. Daha uzun veya daha kısa sayısal dizeler, gönderdiğiniz şekilde gösterilir.
Parmak izi simülasyonu
finger touch fingerprint-id: Parmağın sensöre dokunmasını simüle eder.
finger remove: Parmağın kaldırılmasını simüle eder.
Bu komutların nasıl kullanılacağıyla ilgili talimatlar için parmak izi simülasyonu ve doğrulama hakkındaki aşağıdaki bölüme bakın.
Ekran Kaydı
Ekran kaydı komutu, emülatörün fiziksel ekranının yüksek kaliteli video dosyalarını doğrudan ana makine sisteminden kaydetmenizi sağlar. Bu özellik, sürekli entegrasyon ardışık düzenleri ve otomatik hata raporlama için son derece kullanışlıdır.
screenrecord {start| stop} 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ış dizininin altına 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 cihazdaki makro durum geçişlerini kaydetmesine ve bunları otomatik test akışlarını yürütmek için tekrar oynatmasına olanak tanır.
automation {record| stop-record| play| stop-play}Otomatik makro kayıtlarını yönetir.- record: Cihaz durumu değişikliklerini ve girişlerini kaydetmeye başlar.
- stop-record: Geçerli makro kayıt oturumunu durdurur.
- play: Kaydedilmiş bir makro dizisini oynatmaya başlar.
- stop-play: Etkin makro oynatma sırasını durdurur.
Fizik (6DoF)
Fizik komutları, gelişmiş hareket izlemeyi simüle etmek için kullanılan altı serbestlik dereceli (6DoF) fiziksel hareket modelleri için kesin referans verisi olan uzamsal pozların kaydedilmesini yönetir.
physics {record-gt| stop}Fiziksel poz modeli kayıtlarını yönetir.- record-gt: Doğruluk verisi 6DoF hareket verilerini kaydetmeye başlar.
- stop: Mevcut doğru cevap kaydı sürecini durdurur.
Gelişmiş Cihaz Denetimleri
Bu bölümde, ağ proxy'leri, çoklu ekran yapılandırmaları, oluşturma geçersiz kılmaları ve hipervizör doğrudan hata ayıklama gibi gelişmiş emülasyon yapılandırmaları için son derece uzmanlaşmış konsol komutu uç noktaları toplanır.
multidisplay {add| del}Çok ekranlı yapılandırmaları test etmek için ikincil sanal monitörler ekler veya siler. Not: Pixel Fold veya Resizable Emulator gibi katlanabilir profillerde ikincil monitörler desteklenmez.proxy {set| clear}Ağ proxy yönlendirmeyi konsoldan programatik olarak yapılandırır.- set host port: Hedef proxy ayarlarını yapılandırır.
- clear: Proxy yapılandırmalarını varsayılan değerlere sıfırlar. Not: Proxy ayarı işlemleri, gözetimsiz yürütme ortamlarında başarısız olur.
virtualscene-image {wall| table} image_pathSanal sahne kamera feed'inde gösterilen arka plan duvarlarını veya yatay tabloları özel bir kullanıcı resmi 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 plansız otomasyon çalıştırmaları sırasında sistem belleğini ve GPU yükünü azaltmak için ana makine ekranında fiziksel GUI oluşturmayı devre dışı bırakır.grpc portÖzel gRPC bağlantı noktası uç noktaları üzerinden gelişmiş programatik cihaz kontrolünü yapılandırır.qemu monitorTemel hipervizörün konsoluna doğrudan etkileşimli terminal erişimi sağlar. Bu komut yalnızca etkin Telnet konsolu oturumlarında girilebilir.icebox track pidBelirtilen uygulama süreci işlenmemiş 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 basit komut dosyaları için ideal olsa da gRPC arayüzü, sürekli entegrasyon (CI) ve gözetimsiz ortamlarda yüksek performanslı, güvenli ve sağlam otomatik kontrol için tasarlanmıştır. gRPC, doğrudan hizmet uç noktaları sunarak metin akışlarını ayrıştırma, terminal oturumu el sıkışmalarını yönetme veya şifrelenmemiş localhost bağlantı noktalarını kullanıma sunma ihtiyacını ortadan kaldırır.
Eski Telnet konsolu ile modern gRPC programatik arayüzü arasında seçim yapmanıza yardımcı olması için performans, güvenlik ve özellik yetenekleriyle ilgili aşağıdaki karşılaştırmayı inceleyin:
| Özellik | Telnet Konsolu | gRPC Arabirimi |
|---|---|---|
| İdeal kullanım alanları | Manuel hata ayıklama, etkileşimli oturumlar. | Gözetimsiz CI/CD, ağır otomatik test düzenekleri. |
| Hız | Daha yavaş; metin ek yükü, bağlantı gecikmesi. | Optimize edilmiş; çoklu HTTP/2, hızlı proto. |
| Güvenlik | Şifrelenmemiş; yerel bağlantı noktaları (5554-5585). | TLS ile güvenli hale getirilebilir ve ağlar üzerinden çalışır. |
| Akışlar | Desteklenmiyor; yalnızca istek-yanıt. | logcat ve misafir ses yakalama için yayınlar. |
| Medya | Çıkış dosyalarını ana makine/konuk diskine yazar. | Doğrudan kablolu ikili arabellekler. |
| Konuk işletim sistemi | Sabit emülatör komutlarıyla sınırlıdır. | Yerel konuk bash kabuk komutlarını çalıştırır. |
gRPC'yi başlatma ve çağırma
gRPC uç noktalarını kullanmak için komut satırından Android Emulator'ı başlatın ve hedef geri döngü bağlantı noktasını belirten -grpc işaretini ekleyin.
# Start the emulator with the gRPC service enabled on port 8556
emulator -grpc localhost:8556 @Pixel_Fold
Emülatör, gRPC hizmeti etkinleştirilmiş olarak çalıştıktan sonra programatik RPC çağrıları yapabilirsiniz. Komut satırı testi için, emülatörün hizmetleriyle iletişim kurmak üzere grpcurl yardımcı programını kullanın. Tüm istekler JSON biçiminde biçimlendirilir ve düz metin üzerinden gönderilir.
# Query the status of the virtual device using grpcurl
grpcurl -plaintext -d '{}' localhost:8556 \
android.emulation.control.EmulatorController/getStatus
# Simulate an incoming phone call
grpcurl -plaintext -d '{"operation": "InitCall", "number": "1234567890"}' localhost:8556 \
android.emulation.control.EmulatorController/sendPhone
# Simulate typing text into the guest OS
grpcurl -plaintext -d '{"text": "Hello"}' localhost:8556 \
android.emulation.control.EmulatorController/sendKey
Telnet konsolunun gRPC hizmetine eşlenmesi
Aşağıdaki referans tablosunda, eski Telnet konsol komutları karşılık gelen gRPC hizmetleri ve yöntemleriyle eşlenerek yaygın sanal cihaz etkileşimlerinin programatik olarak nasıl otomatikleştirileceği gösterilmektedir:
| Kategori | Eski Telnet Komutu | gRPC Hizmeti / Yöntemi |
|---|---|---|
| Durum | ping |
EmulatorController/getStatus |
| Durum | avd name |
incubating.AvdService/getAvdInfo |
| Durum | kill |
EmulatorController/setVmState |
| Durum | restart |
EmulatorController/setVmState |
| Güç | power display |
EmulatorController/getBattery |
| Güç | power capacity |
EmulatorController/setBattery |
| Coğrafi konum | geo fix |
EmulatorController/setGps |
| Sensörler | sensor set |
incubating.SensorService/setSensor |
| Biyometri | finger touch |
EmulatorController/sendFingerprint |
| Posture | posture |
EmulatorController/setPosture |
| Posture | physics/fold |
EmulatorController/setPhysicalModel |
| SMS | sms send |
EmulatorController/sendSms |
| GSM Call | gsm call |
EmulatorController/sendPhone |
| GSM Call | phonenumber |
EmulatorController/setPhoneNumber |
| Yönlendirme | redir add |
Waterfall/ForwardPort |
| Giriş | event send EV_KEY |
EmulatorController/sendKey |
| Giriş | event send EV_ABS |
EmulatorController/sendTouch |
| Medya | screenrecord |
incubating.ScreenRecording |
| Görüntü Oluşturma | nodraw |
EmulatorController/setDisplayMode |
| Anlık görüntüler | avd snapshot list |
SnapshotService/ListSnapshots |
| Anlık görüntüler | avd snapshot load/save |
SnapshotService/LoadSnapshot |
gRPC'ye özgü programatik komutlar
gRPC arayüzü, eski Telnet konsol bağlantıları üzerinden fiziksel olarak yürütülmesi imkansız olan çeşitli son teknoloji özellikler sunar. Bunlar arasında doğrudan logcat akışı, çift yönlü ses yakalama veya yerleştirme, ana makine GUI değişiklikleri ve doğrudan kabuk erişimi yer alır.
| gRPC Hizmeti / Yöntemi | Parametre | Kapasite |
|---|---|---|
streamLogcat |
{"maxLines": 100} |
Konuk sisteminin logcat çıkışlarını yayınlar |
streamAudio |
{} |
Hoparlör sesini kablo üzerinden aktarır |
injectAudio |
{"audio": "..."} |
Mikrofon ses akışlarını yerleştirir. |
UiController |
{"theme": "DARK"} |
Ana pencere temalarını değiştirir. |
Waterfall/Exec |
{"cmd": "ls"} |
Yerel misafir işletim sistemi kabuk komutlarını çalıştırır. |
Parmak izi simülasyonu ve doğrulaması
Uygulamanız için parmak iziyle kimlik doğrulamayı simüle etmek ve doğrulamak üzere finger komutunu kullanın. SDK Tools 24.3 veya sonraki bir sürüm ve Android 6.0 (API düzeyi 23) ya da sonraki bir sürüm gerekir.
Parmak iziyle kimlik doğrulamayı simüle etmek ve doğrulamak için aşağıdaki adımları uygulayın:
Henüz parmak izi kimliğiniz yoksa Ayarlar > Güvenlik > Parmak izi'ni seçip kayıt talimatlarını uygulayarak emülatöre yeni bir parmak izi kaydedin.
Uygulamanızı parmak iziyle kimlik doğrulama özelliğini kabul edecek şekilde ayarlayın. Bu kurulumu yaptıktan sonra cihazınızda parmak izi kimlik doğrulama ekranı gösterilir.
Uygulamanız parmak iziyle kimlik doğrulama ekranını gösterirken konsola gidin ve
finger touchkomutunu ve oluşturduğunuz parmak izi kimliğini girin. Bu işlem, parmakla dokunma simülasyonu yapar.Ardından, parmağın kaldırılmasını simüle etmek için
finger removekomutunu girin. Uygulamanız, kullanıcının parmağıyla parmak izi sensörüne dokunup parmağını kaldırmış gibi yanıt vermelidir.