सत्यापन और डिबगिंग

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

परीक्षण एवं सत्यापन

ब्लूटूथ स्टैक का परीक्षण करने के लिए, AOSP ब्लूटूथ प्रोफ़ाइल ट्यूनिंग सूट के लिए यूनिट परीक्षण, सीटीएस परीक्षण और टूल का मिश्रण प्रदान करता है।

AOSP में यूनिट परीक्षण

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

  1. एंड्रॉइड रनटाइम बंद करें:
    adb shell stop
  2. परीक्षण निर्देशिका से, शेल निष्पादन योग्य फ़ाइल चलाएँ और यदि आप एक विशिष्ट परीक्षण या परीक्षण सूट चलाना चाहते हैं तो विकल्प शामिल करें:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. जब परीक्षण समाप्त हो जाएं, तो एंड्रॉइड रनटाइम को पुनः सक्षम करें:
    adb shell start

परीक्षण नामों की सूची /packages/modules/Bluetooth/system/test/README.md में पाई जा सकती है।

एंड्रॉइड कॉम्स टेस्ट सूट

एंड्रॉइड कॉम्स टेस्ट सूट (एसीटीएस) वाई-फाई, ब्लूटूथ और सेलुलर सेवाओं जैसे कनेक्टिविटी स्टैक का स्वचालित परीक्षण करता है। परीक्षण उपकरण के लिए एडीबी और पायथन की आवश्यकता होती है, और इसे tools/test/connectivity/acts में पाया जा सकता है।

ब्लूटूथ और ब्लूटूथ लो एनर्जी के लिए ACTS परीक्षण क्रमशः tools/test/connectivity/acts_tests/tests/google/bt/ और tools/test/connectivity/acts_tests/tests/google/ble/ में पाए जाते हैं।

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

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

एओएसपी ब्लूटूथ पीटीएस के पूरक के लिए अतिरिक्त उपकरण प्रदान करता है। ये उपकरण tools/test/connectivity/acts_tests/tests/google/bt/pts/ में स्थित हैं।

सीटीएस टेस्ट

संगतता परीक्षण सूट (सीटीएस) में ब्लूटूथ स्टैक के लिए परीक्षण शामिल हैं। ये 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 लॉग एकत्र कर सकते हैं, जो RFC 1761 में स्नूप प्रारूप से मिलते जुलते हैं। ये लॉग होस्ट कंट्रोलर इंटरफ़ेस (HCI) पैकेट को कैप्चर करते हैं। अधिकांश एंड्रॉइड डिवाइसों के लिए, लॉग data/misc/bluetooth/logs में संग्रहीत होते हैं।

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

  1. डिवाइस पर डेवलपर विकल्प सक्षम करें।
  2. डेवलपर विकल्प मेनू में, ब्लूटूथ एचसीआई स्नूप लॉग सक्षम करें टॉगल को सक्रिय करें।
  3. लॉगिंग को प्रभावी बनाने के लिए ब्लूटूथ को पुनरारंभ करें।