ब्लूटूथ स्टैक की पुष्टि करने और उसे डीबग करने के लिए, AOSP और ब्लूटूथ स्पेशल इंटरेस्ट ग्रुप (एसआईजी) के टेस्ट में दिए गए टूल का इस्तेमाल करें.
जांच करना और पुष्टि करना
ब्लूटूथ स्टैक की जांच करने के लिए, AOSP यूनिट टेस्ट, सीटीएस टेस्ट, और ब्लूटूथ प्रोफ़ाइल ट्यूनिंग सुइट के लिए टूल उपलब्ध कराता है.
AOSP में यूनिट टेस्ट
AOSP में, डिफ़ॉल्ट
ब्लूटूथ स्टैक के लिए फ़ंक्शनल और यूनिट टेस्ट शामिल हैं. ये टेस्ट
/packages/modules/Bluetooth/system/test/
में मौजूद हैं.
AOSP टेस्ट चलाने के लिए, यह तरीका अपनाएं:
- Android रनटाइम को बंद करने के लिए:
adb shell stop
- टेस्ट डायरेक्ट्री से, शेल एक्सीक्यूटेबल फ़ाइल चलाएं और अगर आपको कोई खास टेस्ट या टेस्ट सुइट चलाना है, तो विकल्प शामिल करें:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
- जांच पूरी होने के बाद, Android रनटाइम को फिर से चालू करें:
adb shell start
टेस्ट के नामों की सूची
/packages/modules/Bluetooth/system/test/README.md
में देखी जा सकती है.
प्रोफ़ाइल ट्यूनिंग सुइट
Bluetooth SIG, Bluetooth Profile Tuning Suite (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
स्क्रिप्ट का इस्तेमाल करें.
btsnooz.py
पाएं.- गड़बड़ी की रिपोर्ट का टेक्स्ट वर्शन निकालें.
- गड़बड़ी की रिपोर्ट के टेक्स्ट वर्शन पर
btsnooz.py
चलाएं:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
लॉग की मदद से डीबग करना
Android 4.4 और उसके बाद के वर्शन में, BTSnoop लॉग को मैन्युअल तरीके से इकट्ठा किया जा सकता है. ये लॉग, RFC 1761 में मौजूद स्नूप फ़ॉर्मैट से मिलते-जुलते हैं. ये लॉग,
होस्ट कंट्रोलर इंटरफ़ेस (HCI) पैकेट कैप्चर करते हैं.
ज़्यादातर Android डिवाइसों के लिए, लॉग को
data/misc/bluetooth/logs
में सेव किया जाता है.
निजता की वजह से, हमेशा चालू रहने वाला और "मेमोरी में सेव" BTSnoop सिर्फ़ ऐसी जानकारी और इवेंट को लॉग करता है जो निजी नहीं हैं. सारा डेटा लॉग करने के लिए, उपयोगकर्ता को ये काम करके, ब्लूटूथ HCI स्नूप को चालू करना होगा:
- डिवाइस पर डेवलपर के लिए सेटिंग और टूल की सुविधा चालू करें.
- डेवलपर के लिए सेटिंग और टूल मेन्यू में, ब्लूटूथ HCI स्नूप लॉग चालू करें टॉगल को चालू करें.
- लॉगिंग की सुविधा चालू करने के लिए, ब्लूटूथ को रीस्टार्ट करें.