इस पेज पर, कैमरा सेवा में मौजूद डीबगिंग टूल के बारे में बताया गया है. इनकी मदद से, कैमरे के एचएएल (Hardware Abstraction Layer) से भेजे गए और उसमें भेजे गए कैप्चर रिक्वेस्ट और नतीजे की वैल्यू में हुए बदलावों को देखा जा सकता है. कैमरा सेवा में watch
और dumpsys
निर्देश शामिल हैं.
watch
कमांड, Android 13 या इसके बाद के वर्शन वाले डिवाइसों पर उपलब्ध है. इसकी मदद से, यह कंट्रोल किया जा सकता है कि टैग कब मॉनिटर किए जाएं और ऐक्सेस किए जाएं. साथ ही, ओपन क्लाइंट से टैग मॉनिटरिंग डंप की लाइव झलक देखी जा सकती है और क्लोज़्ड क्लाइंट से कैश मेमोरी में सेव किए गए डंप देखे जा सकते हैं. 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
, AF, AE, और AWB से जुड़े सभीandroid.control.*
टैग के सेट को दिखाता है. टैग की पूरी सूची के लिए,TagMonitor.cpp
देखें.clients
: यह आर्ग्युमेंट ज़रूरी नहीं है. क्लाइंट पैकेज के उन नामों की कॉमा से अलग की गई सूची जिनके लिए टैग को मॉनिटर किया जाता है. अगर कोई क्लाइंट आर्ग्युमेंट पास नहीं किया जाता है या क्लाइंट की सूची मेंall
मौजूद है, तो सभी क्लाइंट को देखता है.
यह कमांड, खुले क्लाइंट और बाद में खोले गए क्लाइंट में टैग मॉनिटरिंग शुरू करता है (stop
को कॉल किए जाने तक). start
को कॉल करने के बाद, क्लाइंट बंद होने पर कैमरा सेवा, टैग मॉनिटरिंग के डंप को कैश मेमोरी में सेव कर लेती है.
जब तक start
को कॉल नहीं किया जाता, तब तक कैमरा सेवा किसी भी क्लाइंट के लिए टैग की निगरानी नहीं करती और टैग की निगरानी करने वाले डंप को कैश मेमोरी में सेव नहीं करती. अगर all
को clients
पैरामीटर में पास किया जाता है, तो कैमरा सेवा सभी क्लाइंट से टैग और मॉनिटरिंग डंप को कैश मेमोरी में सेव करती है.
टैग की मॉनिटरिंग की जानकारी को डंप करना
टैग की मॉनिटरिंग की जानकारी को डंप करने के लिए, इनका इस्तेमाल करें:
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
: यह आर्ग्युमेंट ज़रूरी नहीं है. जानकारी को रीफ़्रेश करने के लिए, मिलीसेकंड में इंटरवल. अगर कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट रूप से यह वैल्यू 1000 होती है.
यह कमांड, टैग की मॉनिटरिंग की जानकारी को रीयल टाइम में प्रिंट करता है. बाहर निकलने के लिए, 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'