1 <html devsite> 2 <head> 3 <title>Android Open Accessory (AOA)</title> 4 <meta name="project_path" value="/_project.yaml" /> 5 <meta name="book_path" value="/_book.yaml" /> 6 </head> 7 <body> 8 <!-- 9 Copyright 2017 The Android Open Source Project 10 11 Licensed under the Apache License, Version 2.0 (the "License"); 12 you may not use this file except in compliance with the License. 13 You may obtain a copy of the License at 14 15 http://www.apache.org/licenses/LICENSE-2.0 16 17 Unless required by applicable law or agreed to in writing, software 18 distributed under the License is distributed on an "AS IS" BASIS, 19 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 See the License for the specific language governing permissions and 21 limitations under the License. 22 --> 23 24 25 26 <p>Android Open Accessory (AOA) support allows external USB hardware 27 (Android USB accessories) to interact with Android-powered devices in 28 <em>accessory mode</em>. When an Android-powered powered device is in 29 accessory mode, the connected accessory acts as the USB host (powers the bus and 30 enumerates devices) and the Android-powered device acts as the USB accessory. 31 </p> 32 33 <p>Android USB accessories are designed to attach to Android-powered devices. 34 Such accessories adhere to AOA, enabling them to detect Android-powered devices 35 that support accessory mode, and must provide 500mA at 5V for charging power. 36 Some previously-released Android-powered devices are capable of acting only 37 as a USB device and cannot initiate connections with external USB devices. AOA 38 support overcomes this limitation, enabling you to build accessories that can 39 initiate connections and interact with an assortment of Android-powered devices. 40 </p> 41 42 <p class="note"><strong>Note:</strong> Accessory mode is dependent on device 43 hardware; not all devices support accessory mode. Devices that support accessory 44 mode can be filtered using a <code><uses-feature></code> element in the 45 corresponding application's Android manifest. For details, see the 46 <a href="http://developer.android.com/guide/topics/connectivity/usb/accessory.html#manifest">USB 47 Accessory</a> developer guide.</p> 48 49 <p>AOA has two versions that support different types of communication:</p> 50 <ul> 51 <li><strong>AOAv1</strong>. Supports generic accessory communication and adb 52 debugging. Available in Android 3.1 (API Level 12) and higher and supported 53 through an 54 <a href="https://developers.google.com/android/add-ons/google-apis/">Add-On 55 Library</a> in Android 2.3.4 (API Level 10) and higher.</li> 56 <li><strong>AOAv2</strong>. Supports audio streaming and human interface 57 device (HID) capabilities. Available in Android 4.1 (API Level 16).</li> 58 </ul> 59 </body> 60 </html> 61