पुष्टि करना और डीबग करना

ब्लूटूथ स्टैक की पुष्टि करने और उसे डीबग करने के लिए, AOSP में दिए गए टूल और ब्लूटूथ स्पेशल इंटरेस्ट ग्रुप (एसआइजी) के टेस्ट का इस्तेमाल करें.

जांच करना और पुष्टि करना

ब्लूटूथ स्टैक की जांच करने के लिए, AOSP यूनिट टेस्ट, CTS टेस्ट, और Bluetooth Profile Tuning Suite (PTS) के लिए टूल उपलब्ध कराता है.

AOSP में यूनिट टेस्ट

AOSP में, डिफ़ॉल्ट ब्लूटूथ स्टैक के लिए फ़ंक्शनल और यूनिट टेस्ट शामिल हैं. ये टेस्ट, /packages/modules/Bluetooth/system/test/ में मौजूद हैं. AOSP टेस्ट चलाने के लिए, यह तरीका अपनाएं:

  1. Android रनटाइम बंद करें:

    adb shell stop
  2. टेस्ट डायरेक्ट्री से, शेल एक्ज़ीक्यूटेबल फ़ाइल चलाएं. अगर आपको कोई खास टेस्ट या टेस्ट सुइट चलाना है, तो विकल्प शामिल करें:

    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. जांच पूरी होने के बाद, Android रनटाइम को फिर से चालू करें:

    adb shell start

टेस्ट के नामों की सूची /packages/modules/Bluetooth/system/test/README.md में देखी जा सकती है.

प्रोफ़ाइल ट्यूनिंग सुइट

Bluetooth SIG, Bluetooth PTS उपलब्ध कराता है. यह प्रोटोकॉल और प्रोफ़ाइल इंटरऑपरेबिलिटी के लिए टेस्टिंग टूल है. ज़्यादा जानकारी के लिए, Bluetooth Profile Tuning Suite साइट पर जाएं.

सीटीएस टेस्ट

Compatibility Test Suite (CTS) में, ब्लूटूथ स्टैक के लिए टेस्ट शामिल हैं. ये cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth में मौजूद हैं.

डीबग करने के विकल्प

AOSP, किसी डिवाइस के ब्लूटूथ स्टैक को डीबग करने के अलग-अलग तरीके उपलब्ध कराता है. इनमें लॉग और गड़बड़ी की रिपोर्ट शामिल हैं. ये तरीके उन समस्याओं के लिए काम नहीं कर सकते जिन्हें दोहराया नहीं जा सकता. साथ ही, ये ऑडियो से जुड़ी समस्याओं के लिए भी काम नहीं कर सकते. ऑडियो से जुड़ी समस्याएं, प्लैटफ़ॉर्म और डिवाइस के कई हिस्सों से जुड़ी हो सकती हैं.

गड़बड़ी की रिपोर्ट की मदद से डीबग करना

dumpsys का इस्तेमाल करके, ब्लूटूथ सेवा की स्थिति देखने के लिए, यहां दिया गया कमांड इस्तेमाल करें:

adb shell dumpsys bluetooth_manager

डिफ़ॉल्ट रूप से, सभी लॉग मैसेज ट्रेस लेवल 2 पर होते हैं. लॉगिंग लेवल के बारे में ज़्यादा जानने और अलग-अलग प्रोफ़ाइलों के लिए लॉगिंग लेवल बदलने के लिए, system/bt/conf/bt_stack.conf में जाएं.

गड़बड़ी की रिपोर्ट से स्नूप लॉग निकालने के लिए, btsnooz स्क्रिप्ट का इस्तेमाल करें.

  1. btsnooz.py पाएं.

  2. गड़बड़ी की रिपोर्ट का टेक्स्ट वर्शन निकालें.

  3. गड़बड़ी की रिपोर्ट के टेक्स्ट वर्शन पर btsnooz.py चलाएं:

    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

लॉग की मदद से डीबग करना

Android 4.4 और उसके बाद के वर्शन में, BTSnoop लॉग को मैन्युअल तरीके से इकट्ठा किया जा सकता है. ये लॉग, RFC 1761 में दिए गए सूप फ़ॉर्मैट से मिलते-जुलते हैं. इन लॉग में, होस्ट कंट्रोलर इंटरफ़ेस (एचसीआई) पैकेट कैप्चर किए जाते हैं. ज़्यादातर Android डिवाइसों पर, लॉग data/misc/bluetooth/logs में सेव किए जाते हैं.

निजता की वजहों से, हमेशा चालू रहने वाला और "इन-मेमोरी" BTSnoop सिर्फ़ गैर-निजी जानकारी और इवेंट लॉग करता है. सभी डेटा को लॉग करने के लिए, उपयोगकर्ता को ब्लूटूथ एचसीआई स्नूप चालू करना होगा. इसके लिए, उसे यह तरीका अपनाना होगा:

  1. डिवाइस पर डेवलपर के लिए सेटिंग और टूल चालू करें.

  2. डेवलपर के लिए सेटिंग और टूल मेन्यू में जाकर, ब्लूटूथ एचसीआई स्नूप लॉग चालू करें टॉगल को चालू करें.

  3. लॉगिंग को लागू करने के लिए, ब्लूटूथ को रीस्टार्ट करें.