blob: b04e634a708dcd2854b54e6406ec725e94845ed0 [file] [log] [blame]
page.title=Android Open Accessory (AOA)
@jd:body
<!--
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<p>Android Open Accessory (AOA) support allows external USB hardware
(Android USB accessories) to interact with Android-powered devices in
<em>accessory mode</em>. When an Android-powered powered device is in
accessory mode, the connected accessory acts as the USB host (powers the bus and
enumerates devices) and the Android-powered device acts as the USB accessory.
</p>
<p>Android USB accessories are designed to attach to Android-powered devices.
Such accessories adhere to AOA, enabling them to detect Android-powered devices
that support accessory mode, and must provide 500mA at 5V for charging power.
Some previously-released Android-powered devices are capable of acting only
as a USB device and cannot initiate connections with external USB devices. AOA
support overcomes this limitation, enabling you to build accessories that can
initiate connections and interact with an assortment of Android-powered devices.
</p>
<p class="note"><strong>Note:</strong> Accessory mode is dependent on device
hardware; not all devices support accessory mode. Devices that support accessory
mode can be filtered using a <code>&lt;uses-feature&gt;</code> element in the
corresponding application's Android manifest. For details, see the
<a href="http://developer.android.com/guide/topics/connectivity/usb/accessory.html#manifest">USB
Accessory</a> developer guide.</p>
<p>AOA has two versions that support different types of communication:</p>
<ul>
<li><strong>AOAv1</strong>. Supports generic accessory communication and adb
debugging. Available in Android 3.1 (API Level 12) and higher and supported
through an
<a href="https://developers.google.com/android/add-ons/google-apis/">Add-On
Library</a> in Android 2.3.4 (API Level 10) and higher.</li>
<li><strong>AOAv2</strong>. Supports audio streaming and human interface
device (HID) capabilities. Available in Android 4.1 (API Level 16).</li>
</ul>