2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
カスタム アクセサリー
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
キーボード、温度計、ロボット、照明制御など、Android のアクセサリーには思いつくだけでもさまざまな用途のものがあります。すべての Android アクセサリーは、なんらかの方法で Android デバイスに接続されます。したがって、アクセサリーを作成する際は、アクセサリーで使用する接続の種類を検討する必要があります。このページでは、Android アクセサリーの接続方法について簡単に説明し、アクセサリーの作成に役立つリソースの一覧を紹介します。
USB 経由で接続する
USB ケーブルで Android デバイスに接続するアクセサリーは、Android Open Accessory(AOA)プロトコルに対応している必要があります。AOA プロトコルは、アクセサリーが USB 経由で Android デバイスと通信する方法を規定しています。Android デバイスの電源は低出力であるため、AOA では、アクセサリーが USB ホストとして動作することが要求されます。つまり、デバイスに接続したアクセサリーはバスに給電する必要があります。
AOA には、次の 2 種類の通信に対応したバージョンがあります。
- AOAv1:: 汎用的なアクセサリー通信と ADB デバッグをサポートします。
- AOAv2: ヒューマン インターフェース デバイス(HID)機能をサポートします。Android 4.1(API レベル 16)以降で使用できます。
ADB やオーディオ プロトコルを使わずに、一般的なアクセサリー プロトコルでアクセサリーと通信する場合は、Android アプリで USB アクセサリーの接続を検出して通信を確立できるようにする必要があります。
次のステップ
USB 接続を使用する Android アクセサリーを作成するには:
- ハードウェア プラットフォームを選択するか、USB ホストモードをサポートするハードウェア デバイスを作成します。
- AOA 仕様を確認して、アクセサリーのハードウェアにこのプロトコルを実装する方法を理解します。
- ADK 2012 ファームウェアのソースコード(
<adk-src>/adk2012/board/library/ADK2/
)を確認します。一般的なデータ通信とオーディオ ストリーミング用に USB 接続を使用するアクセサリーの実装例を参照できます。
- USB 経由でアクセサリーと通信する Android アプリを作成する場合は、ADK 2012 Android アプリのソースコード(
<adk-src>/adk2012/app/
)を確認します。
Bluetooth 経由で接続する
Bluetooth 接続で Android デバイスと接続するアクセサリーは、Android がサポートする接続プロファイルを使用できます。使用できるプロファイルには、Simple Serial Protocol(SSP)プロファイルや Advanced Audio Distribution Profile(A2DP)プロファイルがあります。Android デバイスとの接続に Bluetooth を使用するアクセサリーは、Bluetooth 通信に加え、サポートされているプロファイルを少なくとも 1 つサポートする必要があります。
ユーザーがアクセサリーを使用するには、Android デバイスで Bluetooth を有効にし、アクセサリーをペアリングする必要があります。データ入力やインターフェースへの出力の制御など、特別な通信を処理するセカンダリ Android アプリをアクセサリーと合わせて用意することもできます。
次のステップ
Bluetooth 接続を使用する Android アクセサリーを作成するには:
- ハードウェア プラットフォームを選択するか、または Bluetooth 通信に加えて Android がサポートする接続プロファイル(SSP や A2DP など)に対応できるハードウェア デバイスを作成します。
- ADK 2012 ファームウェアのソースコード(
<adk-src>/adk2012/board/library/ADK2/
)を確認します。Bluetooth 接続を使用した一般的なデータ通信とオーディオ ストリーミングの実装例を参照できます。
- Bluetooth 経由でアクセサリーと通信する Android アプリを作成する場合は、ADK 2012 Android アプリのソースコード(
<adk-src>/adk2012/app/
)を確認します。
注: ADK 2012 のソースコードは、Texas Instruments CC2564 チップ用に作成されたオープンソースの Bluetooth スタックを含んでいますが、標準の Host/Controller Interface(HCI)に対応した Bluetooth チップでも動作するように設計されています。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 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-07-27 UTC。"],[],[],null,["# Custom accessories\n\nAn accessory for Android can be anything: keyboard, thermometer, robot,\nlighting control, or anything else you can imagine. All Android accessories\nconnect to an Android device in some way, so when building an accessory you must\nconsider the type of connections your accessory will use. This page provides a\nquick overview of your options for connecting your Android accessory and\na list of resources to help you get started.\n\nConnect over USB\n----------------\n\nAn accessory that connects to an Android device through a USB cable must\nsupport the Android Open Accessory (AOA) protocol, which specifies how an\naccessory can establish communication with an Android device via USB.\nDue to the low power output of Android devices, AOA requires the accessory to\nact as a USB host, meaning the connecting accessory must power the bus.\n\nAOA has two versions that support different types of communication:\n\n- **[AOAv1](/docs/core/interaction/accessories/aoa).** Supports generic accessory communication and adb debugging.\n- **[AOAv2](/docs/core/interaction/accessories/aoa2).** Supports human interface device (HID) capabilities. Available in Android 4.1 (API Level 16) or higher.\n\nIf you use the general accessory protocol to communicate with your accessory\n(rather than the adb or audio protocol), you must provide an Android\napp that can detect the connection of your USB accessory and establish\ncommunication.\n\n### Next steps\n\nTo get started building an Android accessory that uses a USB connection:\n\n- Select a hardware platform or build a hardware device that can support USB host mode.\n- Review [AOA](/docs/core/interaction/accessories/protocol) specifications to understand how to implement this protocol on your accessory hardware.\n- Review the ADK 2012 [firmware\n source code](http://developer.android.com/tools/adk/adk2.html#src-download) (`\u003cadk-src\u003e/adk2012/board/library/ADK2/`), which demonstrates an implementation of an accessory using a USB connection for general data communications and audio streaming.\n- When planning to build an Android app that communicates with your accessory via USB, review the ADK 2012 Android [app\n source code](http://developer.android.com/tools/adk/adk2.html#src-download) (`\u003cadk-src\u003e/adk2012/app/`).\n\nConnect over Bluetooth\n----------------------\n\nAn accessory that connects with Android devices over a Bluetooth connection\ncan use connection profiles supported by Android, including the Simple Serial\nProtocol (SSP) and Advanced Audio Distribution Profile (A2DP) profile. An\naccessory that uses Bluetooth to connect to Android devices must support\nBluetooth communications and at least one of the supported connection profiles.\n\nUsers must enable Bluetooth on their Android device and pair with your\naccessory to use the accessory. You can also provide a secondary Android\napp that handles specialized communication such as data input or control\noutputs to interface with your accessory.\n\n### Next steps\n\nTo get started building an Android accessory that uses a Bluetooth connection:\n\n- Select a hardware platform or build an hardware device that can support Bluetooth communications and an Android supported connection profile, such as SSP or A2DP.\n- Review the ADK 2012 [firmware\n source code](http://developer.android.com/tools/adk/adk2.html#src-download) (`\u003cadk-src\u003e/adk2012/board/library/ADK2/`), which includes an example implementation of general data communications and audio streaming using a Bluetooth connection.\n- When planning to build an Android app that communicates with your accessory via Bluetooth, review the ADK 2012 Android [app\n source code](http://developer.android.com/tools/adk/adk2.html#src-download) (`\u003cadk-src\u003e/adk2012/app/`).\n\n**Note:** The ADK 2012 source code includes an open\nsource Bluetooth stack built for the Texas Instruments CC2564 chip but is\ndesigned to work with any Bluetooth chip that supports a standard\nHost/Controller Interface (HCI)."]]