যাচাই ও ডিবাগ করা

ব্লুটুথ স্ট্যাক যাচাই ও ডিবাগ করতে, AOSP-তে দেওয়া টুল এবং ব্লুটুথ স্পেশাল ইন্টারেস্ট গ্রুপের (SIG) টেস্ট ব্যবহার করুন।

পরীক্ষা ও যাচাই করুন

ব্লুটুথ স্ট্যাক পরীক্ষা করার জন্য, AOSP, ব্লুটুথ প্রোফাইল টিউনিং স্যুটের (PTS) জন্য ইউনিট টেস্ট, CTS টেস্ট এবং টুলের একটি মিক্স প্রদান করে।

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, ব্লুটুথ PTS প্রদান করে, এটি হল প্রোটোকল ও প্রোফাইল ইন্টারঅপারেবিলিটির জন্য একটি টেস্টিং টুল। আরও তথ্যের জন্য, ব্লুটুথ প্রোফাইল টিউনিং স্যুট সাইট দেখুন।

CTS টেস্ট

কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS)-এ ব্লুটুথ স্ট্যাকের জন্য টেস্ট অন্তর্ভুক্ত থাকে। এগুলি cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth-এ অবস্থিত।

ডিবাগিং সংক্রান্ত বিকল্প

AOSP, লগ ও সমস্যার রিপোর্ট সহ, ডিভাইসের ব্লুটুথ স্ট্যাক ডিবাগ করার বিভিন্ন পদ্ধতি প্রদান করে। যেসব সমস্যা পুনরায় তৈরি করা যায় না বা অডিও সংক্রান্ত সমস্যা, যা প্ল্যাটফর্ম ও ডিভাইসের একাধিক পার্ট দ্বারা প্রভাবিত হতে পারে, সেগুলির ক্ষেত্রে এইসব পদ্ধতি কাজ নাও করতে পারে।

বাগ রিপোর্টের মাধ্যমে ডিবাগ করা

dumpsys ব্যবহার করে ব্লুটুথ পরিষেবার স্ট্যাটাস চেক করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

adb shell dumpsys bluetooth_manager

ডিফল্ট হিসেবে, সব লগ মেসেজ ট্রেস লেভেল ২-এ থাকে। লগিং লেভেল সম্পর্কে আরও জানতে এবং বিভিন্ন প্রোফাইলের জন্য লগিং লেভেল পরিবর্তন করতে, 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) প্যাকেট ক্যাপচার করে। বেশিরভাগ Android ডিভাইসের ক্ষেত্রে, লগ data/misc/bluetooth/logs-এ সেভ করা থাকে।

গোপনীয়তা সংক্রান্ত কারণে, সবসময় চালু থাকা, "ইন-মেমরি" BTSnoop শুধুমাত্র ব্যক্তিগত নয় এমন তথ্য ও ইভেন্ট লগ করে। সব ডেটা লগ করতে, ব্যবহারকারীকে নিম্নলিখিত কাজগুলি করে ব্লুটুথ HCI স্নুপ চালু করতে হবে:

  1. ডিভাইসে ডেভেলপার বিকল্প চালু করুন।

  2. ডেভেলপার বিকল্প মেনুতে, ব্লুটুথ HCI স্নুপ লগ চালু করুন টগল অ্যাক্টিভেট করুন।

  3. লগিং চালু করতে ব্লুটুথ রিস্টার্ট করুন।