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à đi từ HAL camera. 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 vào các thẻ, xem trước trực tiếp các kết quả theo dõi thẻ từ các ứng dụng mở và xem các kết quả được lưu vào bộ nhớ đệm từ các ứng dụng đã đóng. Lệnh dumpsys cho phép truy cập vào thông tin gỡ lỗi nhưng không cung cấp các kết xuất giám sát thẻ từ các ứng dụng đã đóng.
lệnh watch
Phần này mô tả cách sử dụng lệnh watch và cung cấp 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 phân tách bằng dấu phẩy gồm các thẻ cần theo dõi. Cũng chấp nhận ký hiệu 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 (để xem 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 khách được phân tách bằng dấu phẩy mà các thẻ được giám sát. Theo dõi tất cả các ứng dụng nếu không có đối số ứng dụng nào được truyền hoặc nếuallcó trong danh sách ứng dụng.
Lệnh này bắt đầu theo dõi thẻ trong các ứng dụng mở và trong mọi ứng dụng đượ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 kết quả giám sát thẻ từ máy khách khi máy khách đóng.
Trừ phi start được gọi, nếu không dịch vụ camera sẽ không giám sát thẻ cho bất kỳ ứng dụng nào và không lưu trữ các kết quả giám sát thẻ vào bộ nhớ đệm. Nếu all được truyền trong tham số clients, thì dịch vụ camera sẽ giám sát các thẻ và lưu vào bộ nhớ đệm các kết quả giám sát từ tất cả các ứng dụng.
Kết xuất thông tin giám sát thẻ
Để kết xuất thông tin giám sát thẻ, hãy sử dụng:
adb shell cmd media.camera watch dumpLệnh này sẽ kết xuất thông tin giám sát thẻ sang đầu ra tiêu chuẩn rồi thoát. Thao tác này in các kết quả giám sát thẻ được lưu vào bộ nhớ đệm từ những máy khách đã đóng kể từ start (hoặc clear gần đây nhất) và kết quả 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ẻ 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 phím 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]
Xoá các tệp kết xuất được lưu vào bộ nhớ đệm
Để xoá tất cả các tệp kết xuất giám sát thẻ được lưu vào bộ nhớ đệm, hãy sử dụng:
adb shell cmd media.camera watch clearLệnh này không dừng hoạt động giám sát thẻ.
Ngừng theo dõi thẻ
Để ngừng theo dõi thẻ trong tất cả các ứng dụng và xoá tất cả vùng đệm được giữ để lưu vào bộ nhớ đệm các kết quả theo dõi thẻ, hãy sử dụng:
adb shell cmd media.camera watch stoplệnh dumpsys
Lệnh dumpsys cung cấp nhiều thông tin gỡ lỗi từ dịch vụ camera. Lệnh sau đây sẽ ghi lại toàn bộ thông tin gỡ lỗi từ dịch vụ camera:
adb shell dumpsys media.cameraLệnh dumpsys cũng cho phép ghi lại các kết xuất giám sát thẻ từ các ứng dụng mở. Tuy nhiên, dumpsys không cung cấp các bản kết xuất giám sát thẻ từ các ứng dụng khách đã đóng. Sau đây là ví dụ về cách sử dụng dumpsys để giám sát thẻ:
Ghi lại các tệp kết xuất giám sát thẻ từ tất cả ứng dụng khách đang mở:
adb shell dumpsys media.camera -m 3a | grep -A50 MonitoredXem trước trực tiếp thông tin giám sát thẻ bằng lệnh
watchcủa Linux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'