ব্লুটুথ স্ট্যাক যাচাই ও ডিবাগ করার জন্য, AOSP-তে প্রদত্ত টুল এবং ব্লুটুথ স্পেশাল ইন্টারেস্ট গ্রুপের (SIG) পরীক্ষাগুলো ব্যবহার করুন।
পরীক্ষা ও যাচাই করুন
ব্লুটুথ স্ট্যাক পরীক্ষা করার জন্য, AOSP ইউনিট টেস্ট, CTS টেস্ট এবং ব্লুটুথ প্রোফাইল টিউনিং স্যুট (PTS)-এর টুলসের একটি মিশ্রণ প্রদান করে।
AOSP-তে ইউনিট পরীক্ষা
AOSP-তে ডিফল্ট ব্লুটুথ স্ট্যাকের জন্য ফাংশনাল এবং ইউনিট টেস্ট অন্তর্ভুক্ত রয়েছে। এই টেস্টগুলো /packages/modules/Bluetooth/system/test/ -এ অবস্থিত। AOSP টেস্টগুলো চালানোর জন্য, নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:
অ্যান্ড্রয়েড রানটাইম বন্ধ করুন:
adb shell stopটেস্ট ডিরেক্টরি থেকে শেল এক্সিকিউটেবল ফাইলটি চালান এবং কোনো নির্দিষ্ট টেস্ট বা টেস্ট স্যুট চালাতে চাইলে অপশনগুলো অন্তর্ভুক্ত করুন:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONSপরীক্ষাগুলো শেষ হলে, অ্যান্ড্রয়েড রানটাইম পুনরায় চালু করুন:
adb shell start
টেস্টগুলোর নাম তালিকা /packages/modules/Bluetooth/system/test/README.md -এ পাওয়া যাবে।
প্রোফাইল টিউনিং স্যুট
ব্লুটুথ এসআইজি (Bluetooth SIG) প্রোটোকল এবং প্রোফাইলের আন্তঃকার্যকারিতা পরীক্ষার জন্য একটি টুল, ব্লুটুথ পিটিএস (Bluetooth PTS) প্রদান করে। আরও তথ্যের জন্য, ব্লুটুথ প্রোফাইল টিউনিং স্যুট (Bluetooth Profile Tuning Suite) সাইটটি দেখুন।
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 স্ক্রিপ্টটি ব্যবহার করুন।
btsnooz.pyডাউনলোড করুন।বাগ রিপোর্টটির টেক্সট সংস্করণটি বের করুন।
বাগ রিপোর্টের টেক্সট সংস্করণে
btsnooz.pyচালান:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
লগ ব্যবহার করে ডিবাগিং
অ্যান্ড্রয়েড ৪.৪ এবং এর পরবর্তী সংস্করণগুলোতে, আপনি ম্যানুয়ালি BTSnoop লগ সংগ্রহ করতে পারেন, যা RFC 1761- এর স্নুপ ফরম্যাটের অনুরূপ। এই লগগুলো হোস্ট কন্ট্রোলার ইন্টারফেস (HCI) প্যাকেট ধারণ করে। বেশিরভাগ অ্যান্ড্রয়েড ডিভাইসের ক্ষেত্রে, লগগুলো data/misc/bluetooth/logs ফোল্ডারে সংরক্ষিত থাকে।
গোপনীয়তার কারণে, সর্বদা-সক্রিয়, "ইন-মেমরি" BTSnoop শুধুমাত্র ব্যক্তিগত নয় এমন তথ্য এবং ইভেন্ট লগ করে। সমস্ত ডেটা লগ করার জন্য, ব্যবহারকারীকে নিম্নলিখিত কাজগুলো করে ব্লুটুথ HCI স্নুপ সক্রিয় করতে হবে:
ডিভাইসে ডেভেলপার অপশন চালু করুন।
ডেভেলপার অপশন মেনুতে, ‘Enable Bluetooth HCI snoop log’ টগলটি সক্রিয় করুন।
লগিং কার্যকর হওয়ার জন্য ব্লুটুথ পুনরায় চালু করুন।