2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
確認とデバッグ
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Bluetooth スタックの検証とデバッグを行うには、AOSP で提供されているツールと Bluetooth Special Interest Group(SIG)のテストを使用します。
テストと検証
AOSP では、Bluetooth スタックのテストに際して、単体テストと CTS テストに加えて、Bluetooth プロファイル チューニング スイート用のツールを提供しています。
AOSP の単体テスト
AOSP では、デフォルトの Bluetooth スタックを対象に機能テストと単体テストを用意しています。これらのテストは
/packages/modules/Bluetooth/system/test/
にあります。AOSP テストを実行する手順は次のとおりです。
- Android ランタイムを停止します。
adb shell stop
- テスト ディレクトリから、シェルの実行ファイルを実行します。特定のテストまたはテストスイートを実行する場合は、オプションを指定します。
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
- テストが完了したら、Android ランタイムを再度有効にします。
adb shell start
テスト名の一覧は
/packages/modules/Bluetooth/system/test/README.md
にあります。
プロファイル チューニング スイート
Bluetooth SIG では Bluetooth プロファイル チューニング スイート(PTS)を提供しています。これは、プロトコルとプロファイルの相互運用性をテストするためのツールです。詳細については、Bluetooth プロファイル チューニング スイートのサイトをご覧ください。
CTS テスト
互換性テストスイート(CTS)には、Bluetooth スタックのテストが含まれています。これらは
cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth
にあります。
デバッグ オプション
AOSP では、ログやバグレポートなど、デバイスの Bluetooth スタックのデバッグを行うためのさまざまな方法を用意しています。ただし、再現性のない問題や音声の問題に関しては、プラットフォームやデバイスの複数の要素からの影響を受ける可能性があり、機能しない場合もあります。
バグレポートによるデバッグ
dumpsys
を使用して Bluetooth サービスのステータスを確認するには、次のコマンドを使用します。
adb shell dumpsys bluetooth_manager
デフォルトでは、すべてのログメッセージのトレースレベルは 2 です。ロギングレベルの詳細と各種プロファイルのロギングレベルの変更方法については、
system/bt/conf/bt_stack.conf
をご覧ください。
バグレポートからスヌープログを抽出するには、btsnooz
スクリプトを使用します。
btsnooz.py
を入手します。
- バグレポートのテキスト バージョンを抽出します。
- バグレポートのテキスト バージョンで
btsnooz.py
を実行します。
btsnooz.py BUG_REPORT.txt > BTSNOOP.log
ログによるデバッグ
Android 4.4 以降では、RFC 1761 のスヌープ形式に似た BTSnoop ログを手動で収集できます。このログは、ホスト コントローラ インターフェース(HCI)パケットをキャプチャします。ほとんどの Android デバイスでは、ログは data/misc/bluetooth/logs
に格納されます。
プライバシー上の理由から、常時オンの「メモリ内」BTSnoop では、個人情報を含まない情報とイベントのみが記録されます。すべてのデータをログに記録するには、ユーザーが次の手順で Bluetooth HCI スヌープを有効にする必要があります。
- デバイスで [開発者向けオプション] を有効にします。
- [開発者向けオプション] メニューで、[Bluetooth HCI スヌープログ] を有効に切り替えます。
- Bluetooth を再起動してロギングを有効にします。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# Verify and debug\n\nTo verify and debug the Bluetooth stack, use the tools provided in\nAOSP and the Bluetooth Special Interest Group's (SIG) tests.\n\nTest and verify\n---------------\n\nTo test the Bluetooth stack, AOSP provides a mix of unit tests,\nCTS tests, and tools for the Bluetooth Profile Tuning Suite.\n\n### Unit tests in AOSP\n\nAOSP includes functional and unit tests for the default\nBluetooth stack. These tests are located in [/packages/modules/Bluetooth/system/test/](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Bluetooth/system/test/).\nTo run the AOSP tests, do the following:\n\n1. Stop the Android runtime: \n\n ```\n adb shell stop\n ```\n2. From the test directory, run the shell executable file and include options if you want to run a specific test or test suite: \n\n ```\n ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS\n ```\n3. When the tests finish, re-enable the Android runtime: \n\n ```\n adb shell start\n ```\n\nThe list of test names can be found in [/packages/modules/Bluetooth/system/test/README.md](https://cs.android.com/android/platform/superproject/main/+/main:packages/modules/Bluetooth/system/test/README.md).\n\n### Profile Tuning Suite\n\nThe Bluetooth SIG provides the Bluetooth Profile Tuning Suite (PTS),\na testing tool for protocol and profile interoperability.\nFor more information, see the [Bluetooth Profile Tuning Suite](https://www.bluetooth.com/develop-with-bluetooth/test-tools/profile-tuning-suite) site.\n\n### CTS tests\n\n\nThe [Compatibility Test Suite](/docs/compatibility/cts) (CTS)\nincludes tests for the Bluetooth stack. These are located in [cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth](https://cs.android.com/android/platform/superproject/+/android-latest-release:cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/).\n\nDebugging options\n-----------------\n\nAOSP provides different methods of debugging a device's\nBluetooth stack, including logs and bug reports. These methods may\nnot work for issues that cannot be reproduced or for audio issues,\nwhich can be affected by multiple parts of the platform and device.\n\n### Debugging with bug reports\n\nTo check the Bluetooth service status using `dumpsys`,\nuse the following command: \n\n```\nadb shell dumpsys bluetooth_manager\n```\n\nBy default, all log messages are trace level 2.\nTo find out more about the logging levels and change the logging levels\nfor different profiles, look in [system/bt/conf/bt_stack.conf](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Bluetooth/system/conf/bt_stack.conf).\n\nTo extract snoop logs from the bug report, use the\n`btsnooz` script.\n\n1. Get [btsnooz.py](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Bluetooth/system/tools/scripts/btsnooz.py).\n2. Extract the text version of the bug report.\n3. Run `btsnooz.py` on the text version of the bug report: \n\n ```\n btsnooz.py BUG_REPORT.txt \u003e BTSNOOP.log\n ```\n\n### Debugging with logs\n\nIn Android 4.4 and later, you can manually collect BTSnoop logs,\nwhich resemble the snoop format in RFC 1761. These logs capture the\nHost Controller Interface (HCI) packets.\nFor most Android devices, the logs are stored in\n`data/misc/bluetooth/logs`.\n\nFor privacy reasons, always-on, \"in-memory\" BTSnoop only logs\nnon-personal information and events. To log all data, the user needs\nto enable Bluetooth HCI snoop by doing the following:\n\n1. Enable **Developer options** on the device.\n2. In the **Developer options** menu, activate the **Enable Bluetooth HCI snoop log** toggle.\n3. Restart Bluetooth for logging to take effect."]]