درستی‌سنجی و اشکال‌زدایی

برای تأیید و اشکال‌زدایی پشته بلوتوث، از ابزارهای ارائه‌شده در AOSP و آزمایش‌های «گروه ذینفعان ویژه بلوتوث» (SIG) استفاده کنید.

آزمایش و درستی‌سنجی

برای آزمایش پشته بلوتوث، AOSP ترکیبی از آزمایش‌های واحد، آزمایش‌های CTS، و ابزارهایی برای «مجموعه تنظیمات نمایه بلوتوث» (PTS) ارائه می‌دهد.

آزمون‌های واحد در 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 «مجموعه آزمون بلوتوث» (Bluetooth 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 مراجعه کنید.

برای استخراج گزارش‌های snoop از گزارش اشکال، از اسکریپت btsnooz استفاده کنید.

  1. ‫btsnooz.py را دریافت کنید.

  2. نسخه نوشتاری گزارش اشکال را استخراج کنید.

  3. ‫btsnooz.py را روی نسخه نوشتاری گزارش اشکال اجرا کنید:

    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

اشکال‌زدایی با گزارش‌ها

در Android نسخه ۴.۴ و بالاتر، می‌توانید گزارش‌های BTSnoop را به‌صورت دستی جمع‌آوری کنید که شبیه قالب snoop در RFC 1761 است. این گزارش‌ها بسته‌های «میانای کنترل‌کننده میزبان» (HCI) را ضبط می‌کنند. برای اکثر دستگاه‌های Android، گزارش‌ها در data/misc/bluetooth/logs ذخیره می‌شوند.

به‌دلایل حریم خصوصی، BTSnoop همیشه روشن و «در حافظه» فقط اطلاعات و رویدادهای غیرشخصی را ثبت می‌کند. برای ثبت همه داده‌ها، کاربر باید با انجام مراحل زیر Bluetooth HCI snoop را فعال کند:

  1. گزینه‌های توسعه‌دهندگان را در دستگاه فعال کنید.

  2. در منو گزینه‌های توسعه‌دهندگان، مبدل فعال کردن گزارش تجسس Bluetooth HCI را فعال کنید.

  3. برای اعمال گزارش‌گیری، بلوتوث را بازراه‌اندازی کنید.