कैमरा डीबग करना

इस पेज में, कैमरा सेवा के डीबग करने वाले टूल के बारे में बताया गया है कैप्चर अनुरोध और परिणाम मानों में परिवर्तन, जो कैमरा एचएएल. कैमरा सेवा में 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.* के सेट से है AF, AE, और AWB से संबंधित टैग (टैग की पूरी सूची के लिए, देखें 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'