Trang này mô tả các công cụ gỡ lỗi trong dịch vụ camera để xem các thay đổi trong yêu cầu chụp và giá trị kết quả được gửi đến và từ HAL của camera. Dịch vụ camera bao gồm watch
và các lệnh dumpsys
. Có sẵn 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 kết xuất giám sát thẻ từ máy khách đang mở và xem kết xuất được lưu vào bộ nhớ đệm từ máy khách đã đóng. Lệnh dumpsys
cho phép truy cập thông tin gỡ lỗi nhưng không cung cấp kết xuất giám sát thẻ từ các máy khách đã đóng.
lệnh canh gác
Phần này mô tả cách sử dụng lệnh watch
và cung cấp các ví dụ.
Bắt đầu theo dõi thẻ
Để bắt đầu theo dõi 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
Tranh luận:
-
tags
: Danh sách các thẻ được phân tách bằng dấu phẩy sẽ được theo dõi. Cũng chấp nhận cách viết tắt3a
, trong đó3a
đề cập đến tập hợp tất cả các thẻandroid.control.*
liên quan đến AF, AE và AWB (để biết danh sách đầy đủ các thẻ, hãy xemTagMonitor.cpp
). -
clients
: Đối số tùy chọn. Danh sách tên gói ứng dụng khách được phân tách bằng dấu phẩy để theo dõi thẻ. Theo dõi tất cả khách hàng nếu không có đối số khách hàng nào được thông qua hoặc nếuall
có trong danh sách khách hàng.
Lệnh này bắt đầu giám sát thẻ trong các máy khách đang mở và trong bất kỳ máy khách nào được mở sau đó (cho đến khi stop
được gọi). Sau khi start
được gọi, Dịch vụ camera sẽ lưu trữ kết xuất giám sát thẻ từ máy khách khi máy khách đóng.
Trừ khi start
được gọi, dịch vụ camera sẽ không giám sát thẻ cho bất kỳ ứng dụng khách nào và không lưu trữ kết xuất giám sát thẻ vào bộ nhớ đệm. Nếu all
được chuyển vào tham số clients
, dịch vụ camera sẽ giám sát các thẻ và lưu trữ kết xuất giám sát từ tất cả máy 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 chuyển thông tin giám sát thẻ sang đầu ra tiêu chuẩn rồi thoát. Nó in kết xuất giám sát thẻ được lưu trong bộ nhớ cache từ các máy khách đã đóng kể từ khi start
(hoặc clear
lần cuối) và kết xuất giám sát thẻ mới nhất từ các máy khách đang mở.
Đầu ra 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 giám sát thẻ trong thời gian thực
Để xem trước thông tin giám sát thẻ trong 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
Tranh luận:
-
refresh_interval_ms
: Đối số tùy chọn. Khoảng thời gian tính bằng mili giây để làm mới thông tin tại. Mặc định là 1000 nếu không có giá trị nào được chuyển.
Lệnh này in thông tin giám sát thẻ trong thời gian thực. Để thoát nhấn return / enter .
Đầu ra 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]
Xóa các kết xuất được lưu trong bộ nhớ đệm
Để xóa tất cả các kết xuất giám sát thẻ được lưu trong bộ nhớ cache, hãy sử dụng:
adb shell cmd media.camera watch clear
Lệnh này không dừng việc giám sát thẻ.
Dừng theo dõi thẻ
Để dừng các thẻ giám sát trong tất cả các máy khách và xóa tất cả các bộ đệm được giữ cho các kết xuất giám sát thẻ bộ nhớ đệm, 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ừ dịch vụ camera. Lệnh sau ghi lại toàn bộ 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 kết xuất giám sát thẻ từ các máy khách đang mở. Tuy nhiên, dumpsys
không cung cấp kết xuất giám sát thẻ từ các máy khách đã đóng. Sau đây là ví dụ về việc sử dụng dumpsys
để theo dõi thẻ:
Ghi lại các kết xuất giám sát thẻ từ tất cả các máy khách đang mở:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Nhận bản xem trước trực tiếp về thông tin giám sát thẻ bằng lệnh
watch
Linux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'