Bluedroid
読み:ブルードロイド
外語:Bluedroid

 Androidで使われているBluetoothプロトコルスタックの実装。
目次

概要
 Android 4.2(Jelly Bean)より、従来のBlueZに代えて正式採用された。
 Bluedroidは、Broadcomにより開発され、Apache License 2.0で提供されている。
 Androidのソースでは、external/bluetooth/bluedroid以下にソースが一式存在する。

特徴

機能
 BlueZと同様、BSDソケットインターフェイス準拠のAPIを提供し、UNIXなどの他の実装と同様に、Bluetoothをファイルのように扱うことができる。
 実装は複数のレイヤーに分けられているが、それぞれについて、ソケットを通じ、各層においてbind、connect、send、recvなどの操作が利用でき、また各層に対してioctl、setsockopt、getsockoptなどによる制御が利用できる。
 初めて登場したAndroid 4.2の時点では、Android 4.1のBlueZにあったプロファイルの幾つかは実装されていなかったが、Android 4.4(KitKat)の頃になると、殆どのプロファイルが実装されているようである。

対応
 KitKatの段階で、対応していそうなプロトコルとプロファイルは次の通り(ABC順)。
 主要なプロトコルやプロファイルは網羅しているようだが、ソースを概観して判断したものなので、実際の対応の有無や対応の品質は不明。また、これ以外にも対応するものがある可能性がある。

対応プロトコル

対応伝統プロファイル

対応GATTベースプロファイル
 プロトコルATTと、プロファイルGATTには対応しているが、それに準じたGATTベースプロファイルについては公式に実装されている形跡がない。

未対応
 KitKatの段階で、対応していなそうなもの。

主な未対応プロトコル

主な未対応プロファイル

再検索