इस पेज पर, कैमरा सर्विस में मौजूद डीबग करने वाले टूल के बारे में बताया गया है. इनकी मदद से, कैप्चर करने के अनुरोध और नतीजे की उन वैल्यू में हुए बदलावों को देखा जा सकता है जिन्हें कैमरा एचएएल को भेजा जाता है और उनसे वापस लिया जाता है. कैमरा सेवा में watch
और dumpsys
कमांड शामिल हैं.
Android 13 या इसके बाद के वर्शन वाले डिवाइसों पर उपलब्ध, watch
कमांड की मदद से यह कंट्रोल किया जा सकता है कि टैग की निगरानी कब की जाए और उन्हें कब ऐक्सेस किया जाए. साथ ही, इससे ओपन क्लाइंट से टैग मॉनिटरिंग डंप की लाइव झलक देखी जा सकती है और बंद क्लाइंट से कैश किए गए डंप देखे जा सकते हैं. dumpsys
कमांड से डीबग करने से जुड़ी जानकारी ऐक्सेस की जा सकती है. हालांकि, इससे बंद किए गए क्लाइंट से टैग मॉनिटरिंग डंप नहीं मिलते.
स्मार्टवॉच पर दिया गया निर्देश
इस सेक्शन में, watch
कमांड इस्तेमाल करने का तरीका बताया गया है. साथ ही, इसके उदाहरण भी दिए गए हैं.
टैग मॉनिटर करना शुरू करें
टैग मॉनिटर करने के लिए, इनका इस्तेमाल करें:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
उदाहरण:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
तर्क:
tags
: मॉनिटर किए जाने वाले टैग की कॉमा से अलग की गई सूची. यह शॉर्टहैंड3a
को भी स्वीकार करता है. यहां3a
का मतलब, एएफ़, एई, और एडब्ल्यूबी से जुड़े सभीandroid.control.*
टैग के सेट से है. टैग की पूरी सूची के लिए,TagMonitor.cpp
देखें.clients
: यह तर्क देना ज़रूरी नहीं है. कॉमा लगाकर अलग किए गए क्लाइंट पैकेज के उन नामों की सूची जिनके लिए टैग मॉनिटर किए जाते हैं. अगर कोई क्लाइंट आर्ग्युमेंट पास नहीं किया जाता है या क्लाइंट की सूची मेंall
मौजूद है, तो सभी क्लाइंट को देखता है.
इस कमांड से, खुले हुए क्लाइंट और बाद में खोले गए किसी भी क्लाइंट में टैग मॉनिटरिंग शुरू हो जाती है. यह तब तक जारी रहती है, जब तक stop
को कॉल नहीं किया जाता. start
को कॉल करने के बाद,
कैमरा सेवा, क्लाइंट के बंद होने पर, क्लाइंट से टैग मॉनिटरिंग डंप को कैश मेमोरी में सेव करती है.
जब तक start
को कॉल नहीं किया जाता, तब तक कैमरा सेवा किसी भी क्लाइंट के लिए टैग की निगरानी नहीं करती है. साथ ही, टैग की निगरानी से जुड़े डंप को कैश मेमोरी में सेव नहीं करती है. अगर clients
पैरामीटर में all
पास किया जाता है, तो कैमरा सेवा, टैग और कैश मॉनिटरिंग डंप की निगरानी करती है.
टैग मॉनिटरिंग की जानकारी डंप करें
टैग मॉनिटरिंग की जानकारी डंप करने के लिए, इसका इस्तेमाल करें:
adb shell cmd media.camera watch dump
यह कमांड, टैग मॉनिटरिंग की जानकारी को स्टैंडर्ड आउटपुट में डंप करती है. इसके बाद, यह बंद हो जाती है. यह कुकी, उन क्लाइंट के टैग मॉनिटरिंग डंप को प्रिंट करती है जो start
(या पिछली बार clear
) से बंद हैं. साथ ही, यह खुले हुए क्लाइंट के सबसे नए टैग मॉनिटरिंग डंप को प्रिंट करती है.
आउटपुट का उदाहरण:
$ 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
...
टैग मॉनिटरिंग की जानकारी को रीयल टाइम में देखना
टैग मॉनिटरिंग की जानकारी को रीयल टाइम में देखने के लिए, इनका इस्तेमाल करें:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
उदाहरण:
adb shell cmd media.camera watch live -n 250
तर्क:
refresh_interval_ms
: यह तर्क देना ज़रूरी नहीं है. मिलीसेकंड में वह समयावधि जिसके बाद जानकारी रीफ़्रेश की जाती है. अगर कोई वैल्यू पास नहीं की जाती है, तो डिफ़ॉल्ट वैल्यू 1,000 होती है.
इस कमांड से, टैग मॉनिटरिंग की जानकारी रीयल टाइम में प्रिंट होती है. बाहर निकलने के लिए, return/enter दबाएं.
आउटपुट का उदाहरण:
$ 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]
कैश मेमोरी में सेव किए गए डंप मिटाएं
कैश किए गए टैग मॉनिटरिंग डंप को हटाने के लिए, इसका इस्तेमाल करें:
adb shell cmd media.camera watch clear
इस निर्देश से, टैग मॉनिटरिंग बंद नहीं होती.
टैग मॉनिटर करना बंद करें
सभी क्लाइंट में टैग मॉनिटर करने की सुविधा बंद करने और टैग मॉनिटरिंग डंप की कैश मेमोरी में सेव किए गए सभी बफ़र हटाने के लिए, इसका इस्तेमाल करें:
adb shell cmd media.camera watch stop
dumpsys कमांड
dumpsys
कमांड, कैमरा सेवा से डीबग करने से जुड़ी कई तरह की जानकारी देती है. नीचे दिए गए कमांड से, कैमरा सेवा से जुड़ा पूरा डीबगिंग डंप कैप्चर किया जाता है:
adb shell dumpsys media.camera
dumpsys
कमांड की मदद से, खुले हुए क्लाइंट से टैग मॉनिटरिंग डंप भी कैप्चर किए जा सकते हैं. हालांकि, dumpsys
बंद हो चुके क्लाइंट के टैग मॉनिटरिंग डंप उपलब्ध नहीं कराता. टैग मॉनिटरिंग के लिए dumpsys
का इस्तेमाल करने के उदाहरण यहां दिए गए हैं:
सभी खुले क्लाइंट से, टैग मॉनिटरिंग डंप कैप्चर करें:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Linux
watch
कमांड का इस्तेमाल करके, टैग मॉनिटरिंग की जानकारी की लाइव झलक पाएं:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'