อุปกรณ์เสมือนที่ใช้งานอยู่แต่ละเครื่องจะมีคอนโซลที่ให้คุณค้นหาและควบคุมการจำลอง สภาพแวดล้อมของอุปกรณ์ ตัวอย่างเช่น คุณสามารถใช้คอนโซลเพื่อจัดการการเปลี่ยนเส้นทางพอร์ต เครือข่าย ลักษณะเฉพาะ และเหตุการณ์ในโทรศัพท์ขณะที่แอปของคุณกำลังทำงานบนโปรแกรมจำลอง
คำสั่งต่อไปนี้กำหนดให้คุณต้องใช้โปรแกรมจำลองที่ทำงานอยู่แล้ว สำหรับข้อมูลเพิ่มเติม เกี่ยวกับการเรียกใช้โปรแกรมจำลอง โปรดดู เรียกใช้แอปใน Android Emulator และ เริ่มต้นโปรแกรมจำลองจากบรรทัดคำสั่ง
เริ่มและหยุดเซสชันของคอนโซล
หากต้องการเข้าถึงคอนโซลและป้อนคำสั่งจากหน้าต่างเทอร์มินัล ให้ใช้ telnet เพื่อ
เชื่อมต่อกับพอร์ตคอนโซลและระบุโทเค็นการตรวจสอบสิทธิ์ ทุกครั้งที่คอนโซลแสดงผล
ตกลง พร้อมยอมรับคำสั่งแล้ว ไม่มีพรอมต์โดยทั่วไป
วิธีเชื่อมต่อกับคอนโซลของอุปกรณ์เสมือนที่ใช้งานอยู่
- เปิดหน้าต่างเทอร์มินัลแล้วป้อนคำสั่งต่อไปนี้
- หลังจากที่คอนโซลแสดง
OKให้ป้อนคำสั่งauth auth_token - หลังจากเชื่อมต่อกับคอนโซลแล้ว ให้ป้อนคำสั่งของคอนโซล
- หากต้องการออกจากเซสชันคอนโซล ให้ป้อน
quitหรือexit
telnet localhost console-port
ชื่อหน้าต่างโปรแกรมจำลองจะแสดงหมายเลขพอร์ตของคอนโซลเมื่อเรียกใช้ในหน้าต่างที่แยกต่างหาก แต่
ไม่ทำงานเมื่อเรียกใช้ในหน้าต่างเครื่องมือ เช่น ชื่อหน้าต่างสำหรับโปรแกรมจำลองที่ใช้พอร์ตของคอนโซล 5554
อาจเป็น Pixel8_API_34:5554 และคำสั่ง adb devices จะพิมพ์
รายการอุปกรณ์เสมือนที่ใช้งานอยู่และหมายเลขพอร์ตของคอนโซล สำหรับข้อมูลเพิ่มเติม โปรดดู
การค้นหาอุปกรณ์
หมายเหตุ: โปรแกรมจำลองจะคอยฟังการเชื่อมต่อบนพอร์ต 5554 ถึง 5585
และยอมรับการเชื่อมต่อจาก localhost เท่านั้น
ก่อนที่คุณจะสามารถป้อนคำสั่งของคอนโซลคอนโซลโปรแกรมจำลอง
ต้องมีการตรวจสอบสิทธิ์ auth_token ต้อง
จับคู่เนื้อหาของไฟล์ .emulator_console_auth_token ในไดเรกทอรีหลักของคุณ
หากไม่มีไฟล์ดังกล่าว telnet localhost console-port
สร้างไฟล์ ซึ่งมีโทเค็นการตรวจสอบสิทธิ์ที่สร้างขึ้นแบบสุ่ม วิธีปิดใช้
การตรวจสอบสิทธิ์ ให้ลบโทเค็นออกจาก
.emulator_console_auth_token ไฟล์หรือสร้างไฟล์ที่ว่างเปล่าหากยังไม่มี
ป้อน help, help command หรือ help-verbose
เพื่อดูรายการคำสั่งของคอนโซลและเรียนรู้เกี่ยวกับ
คำสั่ง
ตัวอย่างเซสชัน
$ telnet localhost 5554
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'/Users/me/.emulator_console_auth_token'
OK
auth 123456789ABCdefZ
Android Console: type 'help' for a list of commands
OK
help-verbose
Android console command help:
help|h|? Prints a list of commands
help-verbose Prints a list of commands with descriptions
ping Checks if the emulator is alive
automation Manages emulator automation
event Simulates hardware events
geo Geo-location commands
gsm GSM related commands
cdma CDMA related commands
crash Crashes the emulator instance
crash-on-exit Simulates crash on exit for the emulator instance
kill Terminates the emulator instance
restart Restarts the emulator instance
network Manages network settings
power Power related commands
quit|exit Quits control session
redir Manages port redirections
sms SMS related commands
avd Controls virtual device execution
qemu QEMU-specific commands
sensor Manages emulator sensors
physics Manages physical model
finger Manages emulator finger print
debug Controls the emulator debug output tags
rotate Rotates the screen clockwise by 90 degrees
screenrecord Records the emulator's display
fold Folds the device
unfold Unfolds the device
multidisplay Configures the multi-display
nodraw turn on/off NoDraw mode. (experimental)
resize-display resize the display resolution to the preset size
virtualscene-image customize virtualscene image for virtulscene camera
proxy manage network proxy server settings
phonenumber set phone number for the device
try 'help <command>' for command-specific help
OK
exit
Connection closed by foreign host.
การอ้างอิงคำสั่งโปรแกรมจำลอง
ตารางต่อไปนี้อธิบายคำสั่งของคอนโซลโปรแกรมจำลองที่มีพารามิเตอร์และค่าของคำสั่ง
ตาราง 1 คำสั่งของคอนโซลโปรแกรมจำลอง
| คำสั่งทั่วไป | คำอธิบาย |
|---|---|
avd {stop|start|status|name}
|
การค้นหา การควบคุม และจัดการอุปกรณ์เสมือน ดังนี้
|
avd snapshot {list|save name|load name|delete
name}
|
บันทึกและคืนค่าสถานะของอุปกรณ์ในสแนปชอต ดังนี้
ตัวอย่างต่อไปนี้บันทึกสแนปชอตโดยใช้ชื่อ
avd snapshot save firstactivitysnapshot |
fold
|
พับอุปกรณ์เพื่อแสดงการกำหนดค่าหน้าจอที่เล็กลง หากอุปกรณ์เป็นแบบพับได้และ ที่กางอยู่ |
unfold
|
กางอุปกรณ์ออกเพื่อแสดงการกำหนดค่าหน้าจอที่ใหญ่ขึ้น หากอุปกรณ์เป็นแบบพับได้และ ที่พับอยู่ |
kill
|
ยุติอุปกรณ์เสมือน |
ping
|
ตรวจสอบว่าอุปกรณ์เสมือนทำงานอยู่หรือไม่ |
rotate
|
หมุน AVD ทวนเข็มนาฬิกาทีละ 45 องศา |
| ทำให้โปรแกรมจำลองขัดข้อง | คำอธิบาย |
crash
|
ทำให้โปรแกรมจำลองขัดข้องระหว่างการใช้งานแอป |
crash-on-exit |
ทำให้โปรแกรมจำลองขัดข้องเมื่อแอปออก |
| แท็กแก้ไขข้อบกพร่อง | คำอธิบาย |
debug tags ...
|
เปิดหรือปิดข้อความแก้ไขข้อบกพร่องจากส่วนใดส่วนหนึ่งของโปรแกรมจำลอง
พารามิเตอร์ tags ต้องเป็นค่าจากรายการแท็กแก้ไขข้อบกพร่องที่ปรากฏขึ้นเมื่อ
คุณใช้
ตัวอย่างต่อไปนี้เปิดใช้แท็ก debug radio |
| การเปลี่ยนเส้นทางพอร์ต | คำอธิบาย |
redir list
|
แสดงรายการการเปลี่ยนเส้นทางพอร์ตปัจจุบัน |
redir add protocol:host-port:guest-port
|
เพิ่มการเปลี่ยนเส้นทางพอร์ตใหม่ดังต่อไปนี้
|
redir del protocol:host-port
|
ลบการเปลี่ยนเส้นทางพอร์ต
|
| สถานที่ตั้งทางภูมิศาสตร์ | คำอธิบาย |
|
ตั้งค่าตำแหน่งทางภูมิศาสตร์ที่รายงานไปยังแอปที่ทำงานอยู่ภายในโปรแกรมจำลอง โดยการส่งการกำหนด GPS ไปยังโปรแกรมจำลอง คุณสามารถออกคำสั่ง |
|
geo fix longitude latitude [altitude] [satellites] [velocity]
|
ส่งการกำหนด GPS แบบง่ายไปยังโปรแกรมจำลอง
ระบุ longitude และ latitude
เป็นองศาทศนิยม ใช้ตัวเลขตั้งแต่ 1 ถึง 12 เพื่อระบุจำนวนของ
satellites เพื่อใช้กำหนดตำแหน่ง
และระบุ altitude เป็นเมตรและ
velocity น็อต
|
geo nmea sentence
|
ส่งประโยค NMEA 0183 ไปยังอุปกรณ์ที่จำลองเสมือนว่าส่งมาจากโปรแกรมจำลอง
โมเด็ม GPS เริ่มเล่น sentence ด้วย "$GP"
เฉพาะ "$GPGGA" และ "$GPRCM" ประโยคที่มีอยู่ในปัจจุบัน ตัวอย่างต่อไปนี้
คือประโยค GPGGA (Global Positioning System Fix Data) ที่เรียกข้อความ
เวลา ตำแหน่ง และการแก้ไขข้อมูลสำหรับเครื่องรับ GPS
geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx |
| งานกิจกรรมฮาร์ดแวร์ปลอม | คำอธิบาย |
event types
|
แสดงรายการประเภทเหตุการณ์ปลอมทั้งหมด สำหรับกิจกรรมที่มีรหัส จำนวนรหัสจะแสดงเป็น
วงเล็บทางด้านขวา
event types
event <type> can be an integer or one of the following aliases:
EV_SYN
EV_KEY (405 code aliases)
EV_REL (2 code aliases)
EV_ABS (27 code aliases)
EV_MSC
EV_SW (4 code aliases)
EV_LED
EV_SND
EV_REP
EV_FF
EV_PWR
EV_FF_STATUS
EV_MAX
OK
|
event send types [types ...]
|
ส่งประเภทเหตุการณ์ปลอมอย่างน้อย 1 ประเภท |
event codes type
|
แสดงรหัสเหตุการณ์สำหรับประเภทเหตุการณ์ปลอมที่ระบุ |
event send type[:code]:[value] [...]
|
ส่งเหตุการณ์ปลอมอย่างน้อย 1 รายการที่มีโค้ดและค่าโค้ดซึ่งไม่บังคับ
หากต้องการทราบว่าจะส่งเหตุการณ์ใด ให้ใช้คำสั่ง ต่อไปนี้คือเหตุการณ์ที่สร้างขึ้นเมื่อคุณกดปุ่มเปิด/ปิด
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
EV_KEY 2 เหตุการณ์สำหรับคีย์ดาวน์และคีย์อัป:
event send EV_KEY:KEY_POWER:0
OK
event send EV_KEY:KEY_POWER:1
OK
|
event text message
|
ส่งสตริงอักขระที่จำลองการกดแป้น ข้อความต้องเป็นสตริง UTF-8 โพสต์ใน Unicode จะมีการแมปแบบย้อนกลับตามแป้นพิมพ์ของอุปกรณ์ปัจจุบันและไม่รองรับ อักขระจะถูกทิ้งไปโดยไม่ส่งเสียง |
| การควบคุมสถานะพลังงาน | คำอธิบาย |
power display
|
แสดงสถานะแบตเตอรี่และที่ชาร์จ |
power ac {on|off}
|
ตั้งค่าสถานะการชาร์จ AC เป็น on หรือ off
|
power status {unknown|charging|discharging|not-charging|full}
|
เปลี่ยนสถานะแบตเตอรี่ตามที่ระบุ |
power present {true|false}
|
ตั้งสถานะสถานะแบตเตอรี่ |
power health {unknown|good|overheat|dead|overvoltage|failure}
|
ตั้งค่าสถานะประสิทธิภาพแบตเตอรี่ |
power capacity percent
|
ตั้งค่าความจุแบตเตอรี่ที่เหลืออยู่ ให้เป็นเปอร์เซ็นต์จาก 0 ถึง 100 |
| สถานะการเชื่อมต่อเครือข่าย | คำอธิบาย |
network status
|
ตรวจสอบสถานะเครือข่าย รวมถึงลักษณะการหน่วงเวลาและความเร็วในปัจจุบัน |
network delay latency
|
เปลี่ยนเวลาในการตอบสนองของเครือข่ายที่จำลอง โปรแกรมจำลองนี้ช่วยให้คุณสามารถจำลองระดับเวลาในการตอบสนองของเครือข่ายต่างๆ เพื่อให้คุณสามารถทดสอบ ในสภาพแวดล้อมที่โดยทั่วไปแล้วเป็นไปตามสภาวะการทำงานจริง คุณสามารถ ตั้งค่าระดับหรือช่วงเวลาในการตอบสนองเมื่อเปิดโปรแกรมจำลอง หรือคุณสามารถใช้ คอนโซลเพื่อเปลี่ยนเวลาในการตอบสนองขณะที่แอปกำลังทำงานในโปรแกรมจำลอง รูปแบบของเครือข่าย latency คือรูปแบบใดรูปแบบหนึ่งต่อไปนี้ (ตัวเลขเป็นมิลลิวินาที) รูปแบบเวลาในการตอบสนองของเครือข่าย:
หากต้องการตั้งค่าเวลาในการตอบสนองเมื่อเปิดโปรแกรมจำลอง ให้ใช้ emulator -netdelay gprs emulator -netdelay 40,100 หากต้องการเปลี่ยนแปลงการหน่วงเวลาของเครือข่ายในขณะที่โปรแกรมจำลองทำงานอยู่ ให้เชื่อมต่อคอนโซลและใช้
คำสั่ง network delay gprs network delay 40 100 |
network speed speed |
โปรแกรมจำลองช่วยให้คุณจำลองอัตราการโอนเครือข่ายแบบต่างๆ ได้
คุณสามารถตั้งค่าอัตราหรือช่วงการโอนเมื่อเริ่มต้นโปรแกรมจำลอง หรือจะใช้คอนโซลเพื่อ เปลี่ยนอัตราขณะที่แอปกำลังทำงานในโปรแกรมจำลอง รูปแบบของเครือข่าย รูปแบบความเร็วเครือข่าย:
หากต้องการตั้งค่าความเร็วเครือข่ายเมื่อโปรแกรมจำลองเริ่มต้นทำงาน ให้ใช้ emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 หากต้องการเปลี่ยนความเร็วเครือข่ายขณะที่โปรแกรมจำลองทำงานอยู่ ให้เชื่อมต่อคอนโซล
และใช้คำสั่ง network speed 14.4 80 |
network capture {start|stop} file |
ส่งแพ็กเก็ตไปยังไฟล์ รายการต่อไปนี้จะอธิบายพารามิเตอร์และ
ค่าพารามิเตอร์:
|
| การจำลองโทรศัพท์ | คำอธิบาย |
| โปรแกรมจำลองของ Android มีโมเด็มจำลอง GSM และ CDMA ที่ให้คุณจำลองการใช้งานโทรศัพท์ได้ ในโปรแกรมจำลอง ตัวอย่างเช่น คุณสามารถใช้ GSM คุณสามารถจำลองการโทรเข้า และสร้าง และสิ้นสุดการเชื่อมต่อข้อมูล เมื่อใช้ CDMA คุณจะระบุแหล่งที่มาของการสมัครสมาชิก และ รายการโรมมิ่ง ระบบ Android จัดการการโทรจำลองเช่นเดียวกับการโทรจริง โปรแกรมจำลองไม่รองรับเสียงการโทร | |
gsm {call|accept|cancel|busy} phonenumber
|
พารามิเตอร์ gsm คือ
|
gsm {data|voice} state
|
คำสั่ง data state จะเปลี่ยนสถานะของการเชื่อมต่อข้อมูล GPRS
และคำสั่ง data voice state จะเปลี่ยนสถานะของเสียง GPRS
โดยทำตามขั้นตอนต่อไปนี้
|
gsm hold
|
เปลี่ยนสถานะของการโทรเป็น hold คุณสามารถเปลี่ยน
สถานะการเรียกไปยัง hold เฉพาะเมื่อสถานะปัจจุบันคือ active หรือ
waiting
|
gsm list
|
แสดงการโทรเข้าและโทรออกทั้งหมด รวมถึงสถานะ |
gsm status
|
รายงานสถานะเสียง/ข้อมูล GSM ปัจจุบัน ค่าคือ
อธิบายไว้สำหรับคำสั่ง voice และ data
|
gsm signal {rssi|ber}
|
เปลี่ยนความแรงของสัญญาณ (rssi) และอัตราข้อผิดพลาดบิต (ber) ที่รายงานในอีก 15 ครั้งถัดไป
วินาทีของการอัปเดต รายการต่อไปนี้อธิบายพารามิเตอร์และค่า
|
gsm signal-profile num
|
ตั้งค่าโปรไฟล์ความแรงของสัญญาณ
num เป็นตัวเลขตั้งแต่ 0 ถึง 4
|
cdma ssource source
|
ตั้งค่าแหล่งที่มาของการสมัครใช้บริการ CDMA ปัจจุบัน โดยที่
source เป็นรายการที่อนุญาตสำหรับเครือข่ายที่มี
สมาชิกของผู้ให้บริการ CDMA และค่าสมาชิกดังต่อไปนี้
|
cdma prl_version version
|
ถ่ายโอนเวอร์ชันรายการโรมมิ่ง (PRL) ปัจจุบันที่ต้องการ หมายเลขเวอร์ชันมีไว้สำหรับ PRL ซึ่งมีข้อมูลที่ใช้ในการเลือกระบบและกระบวนการได้มา |
| จัดการเซ็นเซอร์ในโปรแกรมจำลอง | คำอธิบาย |
คำสั่งเหล่านี้เกี่ยวข้องกับ
มีเซ็นเซอร์ใดบ้างที่พร้อมใช้งานใน AVD นอกจากการใช้คำสั่ง sensor
สามารถดูและปรับการตั้งค่าในโปรแกรมจำลองในหน้าจอเซ็นเซอร์เสมือนใน
แท็บตัวตรวจวัดความเร่งและเซ็นเซอร์เพิ่มเติม
|
|
sensor status |
แสดงเซ็นเซอร์ทั้งหมดและสถานะ ต่อไปนี้เป็นตัวอย่างเอาต์พุตสำหรับ
คำสั่ง sensor status:
|
sensor get sensor-name
|
รับการตั้งค่าสำหรับ sensor-name ตัวอย่างต่อไปนี้ได้รับ
ค่าสำหรับเซ็นเซอร์ความเร่ง:
sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348
ค่า |
sensor set sensor-name value-x:value-y:value-z
|
ตั้งค่าสำหรับ sensor-name ตัวอย่างต่อไปนี้ตั้งค่า
เซ็นเซอร์ความเร่งไปยังค่า x, y และ z
คั่นด้วยเครื่องหมายทวิภาค
sensor set acceleration 2.23517e-07:9.77631:0.812348 |
| การจำลอง SMS | คำอธิบาย |
sms send sender-phone-number textmessage
|
สร้าง SMS ขาเข้าจำลอง รายการต่อไปนี้จะอธิบายพารามิเตอร์และ
ค่านิยมเหล่านี้
ตัวอย่างต่อไปนี้จะส่งข้อความ "สวัสดี" ไปยังหมายเลขโทรศัพท์ 4085555555 แล้ว sms send 4085555555 hi there คอนโซลจะส่งต่อข้อความ SMS ไปยังเฟรมเวิร์กของ Android ซึ่งส่งไปยัง ในโปรแกรมจำลองที่จัดการ SMS เช่น แอป Messages หากคุณส่งหมายเลข 10 หมายเลขไป แอปจัดรูปแบบเป็นหมายเลขโทรศัพท์ สตริงตัวเลขที่ยาวหรือสั้นลงจะแสดงวิธี ที่คุณส่งไป
|
| การจำลองลายนิ้วมือ | คำอธิบาย |
finger touch fingerprint-id
|
จำลองเมื่อนิ้วแตะเซ็นเซอร์ |
finger remove
|
จำลองการนำนิ้วออก
หากต้องการทราบวิธีใช้คําสั่งเหล่านี้ โปรดดูหัวข้อต่อไปนี้เกี่ยวกับ การจำลองและการตรวจสอบลายนิ้วมือ |
การจำลองและการตรวจสอบลายนิ้วมือ
รูปที่ 1 หน้าจอการตรวจสอบสิทธิ์ด้วยลายนิ้วมือ
ใช้คำสั่ง finger เพื่อจำลองและตรวจสอบการตรวจสอบสิทธิ์ลายนิ้วมือสำหรับ
แอป คุณต้องใช้เครื่องมือ SDK 24.3 ขึ้นไปและ Android 6.0 (API ระดับ 23) ขึ้นไป
หากต้องการจำลองและตรวจสอบการตรวจสอบสิทธิ์ด้วยลายนิ้วมือ ให้ทำตามขั้นตอนต่อไปนี้
- หากยังไม่มีรหัสลายนิ้วมือ ให้ลงทะเบียนลายนิ้วมือใหม่ในโปรแกรมจำลอง โดยเลือกการตั้งค่า > ความปลอดภัย > Fingerprint และทำตาม วิธีการลงทะเบียน
- ตั้งค่าแอปให้ยอมรับ ลายนิ้วมือ การตรวจสอบสิทธิ์ หลังจากตั้งค่าแล้ว อุปกรณ์จะแสดงลายนิ้วมือ หน้าจอการตรวจสอบสิทธิ์
- ขณะที่แอปแสดงหน้าจอการตรวจสอบสิทธิ์ด้วยลายนิ้วมือ ให้ไปที่คอนโซลและ
ป้อนคำสั่ง
finger touchและรหัสลายนิ้วมือที่คุณสร้าง ช่วงเวลานี้ จำลองการแตะ - จากนั้นป้อนคำสั่ง
finger removeเพื่อจำลองการนำนิ้วออกแอปของคุณควรตอบสนองเสมือนว่าผู้ใช้แตะแล้วนำนิ้วออกจาก เซ็นเซอร์ลายนิ้วมือ