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ể sử dụng bảng điều khiển để quản lý quá trình chuyển hướng cổng, đặc điểm mạng và sự kiện của điện thoại trong khi ứng dụng của bạn đang chạy trên trình mô phỏng.
Các lệnh sau đây yêu cầu bạn đã 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ã 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. 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à Nexus_5X_API_23: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 bài viết
Truy vấn phiên bản trình mô phỏng/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ừ máy chủ cục bộ.
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ã 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ã xác thực 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|? print a list of commands help-verbose print a list of commands with descriptions ping check if the emulator is alive automation manage emulator automation event simulate hardware events geo Geo-location commands gsm GSM related commands cdma CDMA related commands crash crash the emulator instance crash-on-exit simulate crash on exit for the emulator instance kill kill the emulator instance restart restart the emulator instance network manage network settings power power related commands quit|exit quit control session redir manage port redirections sms SMS related commands avd control virtual device execution qemu QEMU-specific commands sensor manage emulator sensors physics manage physical model finger manage emulator finger print debug control the emulator debug output tags rotate rotate the screen clockwise by 90 degrees screenrecord Records the emulator's display fold fold the device unfold unfold the device multidisplay configure the multi-display 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 đó.
Bảng 1. Các lệnh trong bảng điều khiển của trình mô phỏng
Lệnh chung | Thông tin mô tả |
---|---|
avd {stop|start|status|name}
|
Truy vấn, đ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 ảnh chụp nhanh như sau:
Ví dụ sau đây lưu một ảnh chụp 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
|
Ngắ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 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ê hoạt động chuyển hướng cổng hiện tại. |
redir add protocol:host-port:guest-port
|
Thêm hoạt động chuyển hướng cổng mới như sau:
|
redir del protocol:host-port
|
Xoá hoạt động 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ể phát 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.
Hãy 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 00000000Trong trường hợp cụ thể này, chúng tôi chỉ cần gửi hai sự kiện EV_KEY là keydown và keyup
để mô phỏng thao tác nhấn và giữ nút nguồn:
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ỷ. |
Kiểm soát trạng thái nguồn mà trình mô phỏng báo cáo cho ứng dụng | Thông tin mô tả |
power display
|
Hiển thị 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 thông tin 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 thực tế điển hình hơn mà ứng dụng sẽ chạy. 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. Để đặ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 Định dạng độ trễ mạng: Sau đây là các định dạng latency mạng (số có đơn vị là mili giây):
|
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.
Để đặ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 Định dạng tốc độ mạng: Sau đây là các định dạng
|
network capture {start|stop} file |
Gửi gói các 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 và thiết lập cũng như 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 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 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. Nhập một số trong khoảng từ 0 đến 4. |
cdma ssource source
|
source : Đặt nguồn đăng ký CDMA hiện tại, trong đó
source là danh sách cho phép 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 quá trình lựa chọn và thu nạp hệ thống. |
Quản lý 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 Cảm biến ảo, trong
các thẻ Gia tốc kế và Cảm biến bổ sung. Để biết thêm thông tin, hãy xem phần
Thao tác với các chế độ điều khiển mở rộng, chế độ cài đặt
và trợ giúp.
|
|
sensor status |
Liệt kê tất 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
|
Lấy 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 . Dưới đây là ví dụ đặt
cảm biến gia tốc cho các giá trị x, y và z
sau đây được phân tách bằng dấu hai chấm. Để biết thêm thông tin, hãy xem phần
Thao tác với các chế độ điều khiển mở rộng, chế độ cài đặt
và trợ giúp.
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ả 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 ra khỏi cảm biến.
Để biết hướng dẫn về cách sử dụng các lệnh này, hãy xem phần Mô phỏng và xác thực vân tay. |
Mô phỏng và xác thực vân tay

Hình 1. Màn hình xác thực vân tay.
Hãy 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 chạm 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.