Android Open Accessory (AOA)

Android Open Accessory (AOA) support allows external USB hardware (Android USB accessories) to interact with Android-powered devices in accessory mode. When an Android-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.

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.

AOA has two versions that support different types of communication:

  • AOAv1. Supports generic accessory communication and adb debugging.
  • AOAv2. Supports human interface device (HID) capabilities. Available in Android 4.1 (API Level 16) and higher.