Trang này mô tả các công cụ gỡ lỗi trong dịch vụ máy ảnh để xem các thay đổi về yêu cầu chụp và giá trị kết quả được gửi đến và từ HAL máy ảnh. Dịch vụ máy ảnh bao gồm các lệnh watch
và dumpsys
.
Có trên các thiết bị chạy Android 13 trở lên, lệnh watch
cho phép kiểm soát thời điểm theo dõi và truy cập thẻ, xem trước trực tiếp tệp kết xuất theo dõi thẻ từ ứng dụng đang mở và xem tệp kết xuất lưu vào bộ nhớ đệm từ ứng dụng đã đóng. Lệnh dumpsys
cho phép truy cập vào tính năng gỡ lỗi
nhưng không cung cấp tệp kết xuất giám sát thẻ từ ứng dụng đã đóng.
lệnh đồng hồ
Phần này mô tả cách sử dụng lệnh watch
và đưa ra ví dụ.
Bắt đầu theo dõi thẻ
Để bắt đầu giám sát thẻ, hãy sử dụng:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
Ví dụ:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
Đối số:
tags
: Danh sách các thẻ được phân tách bằng dấu phẩy cần theo dõi. Cũng chấp nhận viết tắt3a
, trong đó3a
là tập hợp mọiandroid.control.*
các thẻ liên quan đến AF, AE và AWB (để biết danh sách đầy đủ các thẻ, hãy xemTagMonitor.cpp
).clients
: Đối số không bắt buộc. Danh sách tên gói ứng dụng được phân tách bằng dấu phẩy mà các thẻ được theo dõi. Theo dõi tất cả khách hàng nếu không có khách hàng nào được truyền đối số hoặc nếuall
có trong danh sách ứng dụng.
Lệnh này bắt đầu theo dõi thẻ trong các ứng dụng đang mở và trong bất kỳ ứng dụng nào
được mở sau đó (cho đến khi stop
được gọi). Sau khi start
được gọi, dịch vụ máy ảnh sẽ lưu vào bộ nhớ đệm các tệp kết xuất giám sát thẻ từ ứng dụng khi ứng dụng đóng.
Trừ phi start
được gọi, dịch vụ máy ảnh sẽ không giám sát thẻ cho bất kỳ ứng dụng nào và không lưu các tệp kết xuất giám sát thẻ vào bộ nhớ đệm. Nếu all
được truyền trong tham số clients
, thì dịch vụ máy ảnh sẽ theo dõi các thẻ và bộ nhớ đệm theo dõi tệp báo lỗi từ tất cả ứng dụng khách.
Thông tin giám sát thẻ kết xuất
Để kết xuất thông tin giám sát thẻ, hãy sử dụng:
adb shell cmd media.camera watch dump
Lệnh này kết xuất thông tin theo dõi thẻ vào đầu ra chuẩn, sau đó
thoát. Hệ thống sẽ in các tệp kết xuất theo dõi thẻ được lưu vào bộ nhớ đệm từ các ứng dụng đã đóng
kể từ start
(hoặc clear
gần đây nhất) và tệp kết xuất theo dõi thẻ mới nhất từ mở
khách hàng.
Kết quả mẫu:
$ adb shell cmd media.camera watch dump
Client: com.android.chrome (active)
1:com.android.chrome f0:532642803202286ns: REQ:android.control.aeMode: [ON] output stream ids: 0
1:com.android.chrome f0:532642803202286ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 0
..
Client: com.google.android.GoogleCamera (cached)
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.aeMode: [ON] output stream ids: 0 3 1 2
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 2 1 3 0
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.awbMode: [AUTO] output stream ids: 0 3 1 2
...
Xem trước thông tin theo dõi thẻ theo thời gian thực
Để xem trước thông tin giám sát thẻ theo thời gian thực, hãy sử dụng:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
Ví dụ:
adb shell cmd media.camera watch live -n 250
Đối số:
refresh_interval_ms
: Đối số không bắt buộc. Khoảng thời gian tính bằng mili giây để làm mới thông tin. Giá trị mặc định là 1000 nếu không có giá trị nào được truyền.
Lệnh này in thông tin giám sát thẻ theo thời gian thực. Để thoát, hãy nhấn trả lại/nhập.
Kết quả mẫu:
$ adb shell cmd media.camera watch live
Press return to exit...
0:com.google.android.GoogleCamera f0:533016991302201ns: REQ:android.control.aeMode: [ON] output stream ids: 1 3 0 2
0:com.google.android.GoogleCamera f0:533016991302201ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 2 0 3 1
...
0:com.google.android.GoogleCamera f0:533017066793915ns: RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: 3 RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: 2 RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: RES:android.control.afState: [PASSIVE_SCAN]
Xoá tệp báo lỗi đã lưu trong bộ nhớ đệm
Để xoá tất cả tệp kết xuất theo dõi thẻ đã lưu vào bộ nhớ đệm, hãy sử dụng:
adb shell cmd media.camera watch clear
Lệnh này không dừng tính năng theo dõi thẻ.
Ngừng giám sát thẻ
Để ngừng giám sát thẻ trong tất cả ứng dụng và xoá tất cả vùng đệm được lưu giữ để lưu vào bộ nhớ đệm các tệp kết xuất giám sát thẻ, hãy sử dụng:
adb shell cmd media.camera watch stop
lệnh dumpsys
Lệnh dumpsys
cung cấp một loạt thông tin gỡ lỗi từ máy ảnh
. Lệnh sau đây ghi lại toàn bộ tệp kết xuất gỡ lỗi từ
dịch vụ camera:
adb shell dumpsys media.camera
Lệnh dumpsys
cũng cho phép ghi lại các tệp kết xuất theo dõi thẻ đang mở
khách hàng. Tuy nhiên, dumpsys
không cung cấp tệp kết xuất giám sát thẻ từ trạng thái đã đóng
khách hàng. Sau đây là ví dụ về cách sử dụng dumpsys
để theo dõi thẻ:
Ghi lại tệp kết xuất giám sát thẻ từ tất cả ứng dụng đang mở:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Dùng Linux để xem trước trực tiếp thông tin giám sát thẻ Lệnh
watch
:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'