بررسی و رفع اشکال

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

تست و تایید کنید

برای تست پشته بلوتوث، AOSP ترکیبی از تست‌های واحد، تست‌های CTS و ابزارهای مجموعه تنظیم پروفایل بلوتوث را فراهم می‌کند.

تست های واحد در 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 پیدا کرد.

مجموعه تنظیم پروفایل

بلوتوث SIG مجموعه تنظیم پروفایل بلوتوث (PTS) را فراهم می کند، ابزاری برای آزمایش پروتکل و قابلیت همکاری پروفایل. برای اطلاعات بیشتر، به سایت مجموعه تنظیم پروفایل بلوتوث مراجعه کنید.

تست های CTS

مجموعه تست سازگاری (CTS) شامل تست هایی برای پشته بلوتوث است. اینها در cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth قرار دارند.

گزینه های اشکال زدایی

AOSP روش‌های مختلفی را برای اشکال‌زدایی پشته بلوتوث دستگاه، از جمله گزارش‌ها و گزارش‌های اشکال، ارائه می‌کند. این روش‌ها ممکن است برای مشکلاتی که قابل بازتولید نیستند یا برای مشکلات صوتی، که می‌تواند توسط بخش‌های مختلف پلتفرم و دستگاه تحت تأثیر قرار گیرد، کار نکند.

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

برای بررسی وضعیت سرویس بلوتوث با استفاده از dumpsys ، از دستور زیر استفاده کنید:

adb shell dumpsys bluetooth_manager

به‌طور پیش‌فرض، همه پیام‌های گزارش، سطح ردیابی 2 هستند. برای کسب اطلاعات بیشتر درباره سطوح گزارش‌گیری و تغییر سطوح گزارش‌گیری برای نمایه‌های مختلف، به system/bt/conf/bt_stack.conf نگاه کنید.

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

  1. btsnooz.py دریافت کنید.
  2. نسخه متنی گزارش اشکال را استخراج کنید.
  3. btsnooz.py را روی نسخه متنی گزارش اشکال اجرا کنید:
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

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

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

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

  1. گزینه های برنامه نویس را در دستگاه فعال کنید.
  2. در منوی Developer options ، کلید Enable Bluetooth HCI snoop log را فعال کنید.
  3. بلوتوث را مجدداً راه اندازی کنید تا ورود به سیستم اعمال شود.