Gỡ lỗi máy ảnh

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 trong yêu cầu chụp và các giá trị kết quả được gửi đến và từ máy ảnh HAL. Dịch vụ camera bao gồm watch và các dumpsys . Khả dụng 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 các thẻ được giám sát và truy cập, xem trước trực tiếp các kết xuất giám sát thẻ từ các ứng dụng khách đang mở và xem các kết xuất được lưu trong bộ nhớ cache từ các ứng dụng đã đóng. 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 xem

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 các thẻ giám sát, hãy sử dụng:

adb shell cmd media.camera watch start -m <tags> [-c <clients>]

Thí 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 theo dõi được phân tách bằng dấu phẩy. Cũng chấp nhận cách viết tắt 3a , 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 xem TagMonitor.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 mà các thẻ được giám sát. Theo dõi tất cả các máy khách nếu không có đối số máy khách nào được thông qua hoặc nếu all có trong danh sách máy khách.

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 lệnh stop được gọi). Sau khi start được gọi, Dịch vụ camera lưu vào bộ nhớ cache 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 không giám sát thẻ cho bất kỳ ứng dụng khách nào và không kết xuất giám sát thẻ trong bộ nhớ cache. Nếu all được chuyển vào tham số clients , dịch vụ camera sẽ giám sát các thẻ và bộ nhớ đệm giám sát các kết xuất từ ​​tất cả các máy khách.

Thông tin giám sát thẻ bán phá giá

Để 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 giám sát thẻ vào đầu ra tiêu chuẩn và sau đó 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 lần clear cuối cùng) 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]

Thí 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ẻ theo 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 bãi chứa đã lưu trong bộ nhớ cache

Để xóa tất cả các bãi chứa giám sát thẻ đã 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 theo dõi thẻ.

Dừng thẻ giám sát

Để 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ữ để lưu trữ theo dõi thẻ trong bộ nhớ đệm, hãy sử dụng:

adb shell cmd media.camera watch stop

lệnh đổ

dumpsys cung cấp một loạt các 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

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 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 ứng dụng khách đã đóng. Sau đây là các 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 ứng dụng 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 của 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'