Mỗi thiết bị ảo đang chạy có một bảng điều khiển cho phép bạn truy vấn và kiểm soát môi trường thiết bị được mô phỏng. Ví dụ: bạn có thể dùng bảng điều khiển để quản lý lệnh chuyển hướng cổng, các đặc điểm mạng và các sự kiện của điện thoại trong khi ứng dụng đang chạy trên trình mô phỏng.
Các lệnh sau đây yêu cầu bạn phải đã chạy trình mô phỏng. Để biết thêm thông tin về cách chạy trình mô phỏng, hãy xem phần Chạy ứng dụng trên Trình mô phỏng Android và Bắt đầu trình mô phỏng từ dòng lệnh.
Bắt đầu và dừng phiên điều khiển
Để truy cập vào bảng điều khiển và nhập các lệnh, từ cửa sổ dòng lệnh, hãy sử dụng telnet
để kết nối với cổng bảng điều khiển và cung cấp mã thông báo xác thực của bạn. Mỗi khi bảng điều khiển hiển thị OK, nghĩa là bảng điều khiển đã sẵn sàng chấp nhận các lệnh. Thông thường, sẽ không có lời nhắc.
Cách kết nối với bảng điều khiển của một thiết bị ảo đang chạy:
- Mở cửa sổ dòng lệnh và nhập lệnh sau:
- Sau khi bảng điều khiển hiển thị
OK
, hãy nhập lệnhauth auth_token
. - Sau khi bạn đã kết nối với bảng điều khiển, hãy nhập các lệnh trong bảng điều khiển.
- Để thoát khỏi phiên điều khiển, hãy nhập
quit
hoặcexit
.
telnet localhost console-port
Tiêu đề cửa sổ trình mô phỏng liệt kê số cổng của bảng điều khiển khi chạy trong một cửa sổ riêng, nhưng không liệt kê thông tin này khi chạy trong cửa sổ công cụ. Ví dụ: tiêu đề cửa sổ của một trình mô phỏng sử dụng cổng bảng điều khiển 5554 có thể là Pixel8_API_34:5554
. Ngoài ra, lệnh adb devices
in ra danh sách các thiết bị ảo đang chạy và số cổng của bảng điều khiển tương ứng. Để biết thêm thông tin, hãy xem phần Truy vấn thiết bị.
Lưu ý: Trình mô phỏng sẽ theo dõi các kết nối trên các cổng từ 5554 đến 5585 và chỉ chấp nhận kết nối từ localhost
.
Bảng điều khiển của trình mô phỏng yêu cầu xác thực
trước khi bạn nhập các lệnh trong bảng điều khiển. auth_token
phải
phù hợp với nội dung của tệp .emulator_console_auth_token
trong thư mục gốc.
Nếu tệp đó không tồn tại, lệnh telnet localhost console-port
sẽ tạo tệp chứa mã thông báo xác thực được tạo ngẫu nhiên. Để tắt tính năng xác thực, hãy xoá mã thông báo khỏi tệp .emulator_console_auth_token
hoặc tạo một tệp trống nếu không có tệp đó.
Nhập help
, help command
hoặc help-verbose
để xem danh sách các lệnh trong bảng điều khiển và tìm hiểu về
các lệnh cụ thể.
Dưới đây là một phiên mẫu:
$ 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.
Thông tin tham khảo về lệnh trong trình mô phỏng
Bảng sau đây mô tả các lệnh trong bảng điều khiển của trình mô phỏng cùng với thông số và giá trị của các lệnh đó:
Lệnh chung | Thông tin mô tả |
---|---|
avd {stop|start|status|name}
|
Các truy vấn, chế độ điều khiển và quản lý thiết bị ảo như sau:
|
avd snapshot {list|save name|load name|delete
name}
|
Lưu và khôi phục trạng thái của thiết bị trong bản tổng quan nhanh như sau:
Ví dụ sau đây lưu một bản tổng quan nhanh có tên avd snapshot save firstactivitysnapshot |
fold
|
Gập thiết bị lại để hiển thị cấu hình màn hình nhỏ hơn (nếu thiết bị có thể gập lại và đang mở). |
unfold
|
Mở thiết bị ra để hiển thị cấu hình màn hình lớn hơn (nếu thiết bị có thể gập lại và đang gập). |
kill
|
Chấm dứt thiết bị ảo. |
ping
|
Kiểm tra xem thiết bị ảo có đang chạy hay không. |
rotate
|
Xoay AVD ngược chiều kim đồng hồ, mỗi lần xoay thêm 45 độ. |
Huỷ trình mô phỏng | Thông tin mô tả |
crash
|
Huỷ trình mô phỏng trong quá trình thực thi ứng dụng. |
crash-on-exit |
Huỷ trình mô phỏng khi ứng dụng thoát ra. |
Thẻ gỡ lỗi | Thông tin mô tả |
debug tags ...
|
Bật hoặc tắt thông báo gỡ lỗi từ các phần cụ thể của trình mô phỏng.
Thông số tags phải là một giá trị trong danh sách các thẻ gỡ lỗi xuất hiện khi bạn thực thi
Ví dụ sau đây sẽ bật thẻ debug radio |
Chuyển hướng cổng | Thông tin mô tả |
redir list
|
Liệt kê lệnh chuyển hướng cổng hiện tại. |
redir add protocol:host-port:guest-port
|
Thêm lệnh chuyển hướng cổng mới như sau:
|
redir del protocol:host-port
|
Xoá lệnh chuyển hướng cổng.
|
Vị trí địa lý | Thông tin mô tả |
Đặt vị trí địa lý được báo cáo cho các ứng dụng chạy bên trong trình mô phỏng bằng cách gửi bản sửa lỗi GPS cho trình mô phỏng. Bạn có thể đưa ra một trong các lệnh |
|
geo fix longitude latitude [altitude] [satellites] [velocity]
|
Gửi bản sửa lỗi GPS đơn giản cho trình mô phỏng.
Chỉ định longitude và latitude theo độ thập phân. Sử dụng một số từ 1 đến 12 để chỉ định số satellites dùng để xác định vị trí, đồng thời chỉ định altitude tính bằng mét và velocity theo hải lý.
|
geo nmea sentence
|
Gửi một câu NMEA 0183 tới thiết bị được mô phỏng như thể câu này xuất phát từ một modem GPS được mô phỏng. Bắt đầu sentence bằng "$GP".
Hiện tại, chỉ có câu "$GPGGA" và "$GPRCM" mới được hỗ trợ. Sau đây là ví dụ về
một câu GPGGA (Dữ liệu khắc phục sự cố hệ thống định vị toàn cầu) có chức năng thu thập
thời gian, vị trí và dữ liệu khắc phục sự cố cho bộ thu 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 |
Sự kiện phần cứng giả | Thông tin mô tả |
event types
|
Liệt kê tất cả các loại sự kiện giả. Đối với các sự kiện có mã, số lượng mã sẽ xuất hiện trong dấu ngoặc đơn ở bên phải.
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 ...]
|
Gửi một hoặc nhiều loại sự kiện giả. |
event codes type
|
Liệt kê các mã sự kiện cho loại sự kiện giả đã chỉ định. |
event send type[:code]:[value] [...]
|
Gửi một hoặc nhiều sự kiện giả kèm theo mã và giá trị mã không bắt buộc.
Để tìm hiểu chính xác sự kiện cần gửi, bạn có thể sử dụng lệnh Dưới đây là các sự kiện được tạo khi bạn nhấn nút nguồn: 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 cho keydown và keyup:
event send EV_KEY:KEY_POWER:0 OK event send EV_KEY:KEY_POWER:1 OK |
event text message
|
Gửi một chuỗi ký tự mô phỏng thao tác nhấn phím. Thông điệp phải là một chuỗi UTF-8. Các bài đăng sử dụng mã Unicode sẽ được ánh xạ ngược theo bàn phím hiện tại của thiết bị, còn các ký tự không được hỗ trợ sẽ tự động bị huỷ. |
Điều khiển trạng thái nguồn | Thông tin mô tả |
power display
|
Cho biết trạng thái bộ sạc và pin. |
power ac {on|off}
|
Đặt trạng thái sạc xoay chiều thành on hoặc off .
|
power status {unknown|charging|discharging|not-charging|full}
|
Thay đổi trạng thái pin như chỉ định. |
power present {true|false}
|
Đặt trạng thái có/không có pin. |
power health {unknown|good|overheat|dead|overvoltage|failure}
|
Đặt tình trạng pin. |
power capacity percent
|
Đặt trạng thái của dung lượng pin còn lại ở dạng tỷ lệ phần trăm từ 0 đến 100. |
Trạng thái kết nối mạng | Thông tin mô tả |
network status
|
Kiểm tra trạng thái mạng cùng các đặc tính về độ trễ và tốc độ hiện tại. |
network delay latency
|
Thay đổi độ trễ mạng được mô phỏng. Trình mô phỏng cho phép bạn mô phỏng nhiều mức độ trễ mạng để có thể kiểm thử ứng dụng của mình trong môi trường có điều kiện chạy thực tế điển hình hơn. Bạn có thể đặt độ trễ hoặc phạm vi độ trễ khi khởi động trình mô phỏng. Bạn cũng có thể sử dụng bảng điều khiển để thay đổi độ trễ khi ứng dụng đang chạy trong trình mô phỏng. Sau đây là các định dạng latency mạng (số có đơn vị là mili giây): Định dạng độ trễ mạng:
Để đặt độ trễ khi khởi động trình mô phỏng, hãy sử dụng tuỳ chọn trình mô phỏng emulator -netdelay gprs emulator -netdelay 40,100 Để thay đổi độ trễ mạng trong khi trình mô phỏng đang chạy, hãy kết nối với bảng điều khiển và sử dụng lệnh network delay gprs network delay 40 100 |
network speed speed |
Trình mô phỏng cho phép bạn mô phỏng nhiều tốc độ truyền qua mạng. Bạn có thể đặt phạm vi hoặc tốc độ truyền khi khởi động trình mô phỏng. Ngoài ra, bạn cũng có thể dùng bảng điều khiển để thay đổi tốc độ khi ứng dụng đang chạy trong trình mô phỏng. Sau đây là các định dạng Định dạng tốc độ mạng:
Để đặt tốc độ mạng khi khởi động trình mô phỏng, hãy dùng tuỳ chọn trình mô phỏng emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 Để thay đổi tốc độ mạng trong khi trình mô phỏng đang chạy, hãy kết nối với bảng điều khiển và dùng lệnh network speed 14.4 80 |
network capture {start|stop} file |
Gửi các gói cho tệp. Danh sách sau đây mô tả các thông số và giá trị thông số:
|
Mô phỏng điện thoại | Thông tin mô tả |
Trình mô phỏng Android bao gồm các modem GSM và CDMA riêng được mô phỏng, cho phép bạn mô phỏng các chức năng điện thoại trong trình mô phỏng. Ví dụ: Với GSM, bạn có thể mô phỏng cuộc gọi điện thoại đến, cũng như thiết lập và ngắt kết nối dữ liệu. Với CDMA, bạn cung cấp nguồn đăng ký và danh sách chuyển vùng ưu tiên. Hệ thống Android xử lý các cuộc gọi được mô phỏng giống hệt như các cuộc gọi thực tế. Trình mô phỏng không hỗ trợ âm thanh cuộc gọi. | |
gsm {call|accept|cancel|busy} phonenumber
|
Các thông số gsm như sau:
|
gsm {data|voice} state
|
Lệnh data state thay đổi trạng thái kết nối dữ liệu GPRS, còn lệnh data voice state thay đổi trạng thái kết nối giọng nói GPRS như sau:
|
gsm hold
|
Thay đổi trạng thái cuộc gọi thành hold . Bạn chỉ có thể thay đổi trạng thái cuộc gọi thành hold khi cuộc gọi đang ở trạng thái active hoặc waiting .
|
gsm list
|
Liệt kê mọi cuộc gọi đến và đi cùng với trạng thái của chúng. |
gsm status
|
Báo cáo trạng thái dữ liệu/giọng nói GSM hiện tại. Giá trị là những giá trị được mô tả cho lệnh voice và data .
|
gsm signal {rssi|ber}
|
Thay đổi cường độ tín hiệu đã báo cáo (rssi) và tỷ lệ lỗi bit (ber) trong 15 giây cập nhật tiếp theo. Danh sách sau đây mô tả các thông số và giá trị của các thông số đó:
|
gsm signal-profile num
|
Đặt cấu hình cường độ tín hiệu.
num là một số trong khoảng từ 0 đến 4.
|
cdma ssource source
|
Đặt nguồn đăng ký CDMA hiện tại, trong đó source là danh sách cho phép dựa trên mạng chứa những người đăng ký của nhà mạng CDMA và giá trị của họ, như sau:
|
cdma prl_version version
|
Huỷ phiên bản danh sách chuyển vùng ưu tiên (PRL) hiện tại. Số phiên bản dành cho cơ sở dữ liệu PRL chứa thông tin dùng trong quy trình lựa chọn và thu nạp hệ thống. |
Quản lý các cảm biến trên trình mô phỏng | Thông tin mô tả |
Những lệnh này liên quan đến loại cảm biến có sẵn trong AVD. Bên cạnh việc sử dụng lệnh sensor , bạn có thể xem và điều chỉnh các chế độ cài đặt của trình mô phỏng ở màn hình Virtual sensors (Cảm biến ảo) trong các thẻ Accelerometer (Gia tốc kế) và Additional sensors (Cảm biến bổ sung).
|
|
sensor status |
Liệt kê tất cả các cảm biến và trạng thái của chúng. Sau đây là kết quả đầu ra mẫu cho lệnh sensor status :
|
sensor get sensor-name
|
Xem chế độ cài đặt cho sensor-name . Ví dụ sau đây sẽ lấy giá trị cho cảm biến gia tốc:
sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348
Các giá trị |
sensor set sensor-name value-x:value-y:value-z
|
Đặt giá trị cho sensor-name . Ví dụ sau đây đặt cảm biến gia tốc cho các giá trị x, y và z được phân tách bằng dấu hai chấm.
sensor set acceleration 2.23517e-07:9.77631:0.812348 |
Mô phỏng tin nhắn SMS | Thông tin mô tả |
sms send sender-phone-number textmessage
|
Tạo một tin nhắn SMS đến được mô phỏng. Danh sách sau đây mô tả các thông số và giá trị của các thông số đó:
Ví dụ sau đây gửi tin nhắn "hi there" (chào bạn) đến số điện thoại 4085555555: sms send 4085555555 hi there Bảng điều khiển sẽ chuyển tiếp tin nhắn SMS đến khung Android. Từ đây, khung Android sẽ chuyển tin nhắn đó đến một ứng dụng trên trình mô phỏng có thể xử lý tin nhắn SMS, chẳng hạn như ứng dụng Tin nhắn. Nếu bạn chuyển 10 số, ứng dụng sẽ định dạng đó là số điện thoại. Các chuỗi số dài hơn hoặc ngắn hơn sẽ hiển thị cách bạn gửi các chuỗi này.
|
Mô phỏng vân tay | Thông tin mô tả |
finger touch fingerprint-id
|
Mô phỏng một ngón tay đang chạm vào cảm biến. |
finger remove
|
Mô phỏng thao tác nhấc ngón tay.
Để biết hướng dẫn về cách sử dụng các lệnh này, hãy xem phần sau đây về mô phỏng và xác thực vân tay. |
Mô phỏng và xác thực vân tay
Sử dụng lệnh finger
để mô phỏng và xác thực vân tay cho ứng dụng của bạn. Bạn cần có Bộ công cụ SDK 24.3 trở lên và Android 6.0 (API cấp 23) trở lên.
Để mô phỏng và xác thực vân tay, hãy làm theo các bước sau:
- Nếu bạn chưa có mã nhận dạng vân tay, hãy đăng ký vân tay mới trong trình mô phỏng bằng cách chọn Settings > Security > Fingerprint (Cài đặt > Bảo mật > Vân tay) và làm theo hướng dẫn đăng ký.
- Thiết lập sao cho ứng dụng của bạn chấp nhận xác thực vân tay. Sau khi bạn thiết lập như vậy, thiết bị của bạn sẽ hiển thị màn hình xác thực vân tay.
- Trong khi ứng dụng hiển thị màn hình xác thực vân tay, hãy chuyển đến bảng điều khiển rồi nhập lệnh
finger touch
và mã nhận dạng vân tay bạn đã tạo. Lệnh này sẽ mô phỏng thao tác nhấn ngón tay. - Sau đó, nhập lệnh
finger remove
để mô phỏng thao tác nhấc ngón tay ra.Ứng dụng của bạn phải phản hồi như thể người dùng đã chạm rồi nhấc ngón tay ra khỏi cảm biến vân tay.