Home | History | Annotate | Download | only in accessories
      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>&lt;uses-feature&gt;</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