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

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

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

ब्लूटूथ स्टैक की जांच करने के लिए, एओएसपी, ब्लूटूथ प्रोफ़ाइल ट्यूनिंग सुइट के लिए यूनिट टेस्ट, सीटीएस टेस्ट, और टूल का मिला-जुला रूप इस्तेमाल करता है.

एओएसपी में यूनिट टेस्ट

एओएसपी में, डिफ़ॉल्ट ब्लूटूथ स्टैक के लिए, फ़ंक्शनल और यूनिट टेस्ट शामिल होते हैं. ये जांच /packages/modules/Bluetooth/system/test/ में उपलब्ध कराई गई हैं. एओएसपी टेस्ट करने के लिए, ये काम करें:

  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 में देखी जा सकती है.

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

ब्लूटूथ एसआईजी, ब्लूटूथ प्रोफ़ाइल ट्यूनिंग सुइट (पीटीएस) उपलब्ध कराता है. यह प्रोटोकॉल और प्रोफ़ाइल इंटरऑपरेबिलिटी (दूसरे सिस्टम के साथ काम करना) के लिए एक टेस्टिंग टूल है. ज़्यादा जानकारी के लिए, ब्लूटूथ प्रोफ़ाइल ट्यूनिंग सुइट साइट देखें.

सीटीएस टेस्ट

कंपैटबिलिटी टेस्ट सुइट (सीटीएस) में, ब्लूटूथ स्टैक के लिए की गई जांच शामिल होती हैं. ये cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth में मौजूद हैं.

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

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

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

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 लॉग को मैन्युअल तरीके से इकट्ठा किया जा सकता है. ये लॉग, आरएफ़सी 1761 में स्नूप फ़ॉर्मैट जैसे होते हैं. ये लॉग, होस्ट कंट्रोलर इंटरफ़ेस (एचसीआई) पैकेट को कैप्चर करते हैं. ज़्यादातर Android डिवाइसों के लिए, लॉग data/misc/bluetooth/logs में सेव किए जाते हैं.

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

  1. डिवाइस पर डेवलपर के लिए सेटिंग और टूल चालू करें.
  2. डेवलपर के लिए सेटिंग और टूल मेन्यू में, ब्लूटूथ HCI स्नूप लॉग चालू करें टॉगल को चालू करें.
  3. लॉग इन करने के लिए ब्लूटूथ को फिर से चालू करें.