Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

Basics of USB device dev't using Android framework

Posted: 04 Dec 2014 ?? ?Print Version ?Bookmark and Share

Keywords:Android? USB? Compatibility Test Suite? Linux kernel? RFC2119?

Note: This excerpt from Rajaram Regupathy's "Unboxing Android: A hands on approach with real world examples" walks you through features of importance to a device developer in Android's USB framework. He explains the various USB APIs that it exports to assist in implementation of an application on an embedded/mobile/consumer Internet of Things design.

Android has become one of the most successful open platforms, powering up millions of mobile devices and similar embedded devices worldwide. According to Google, more than a million new Android devices are added to this statistic every day. This large market presence and continuous market penetration makes it the ideal platform for developers, SMEs, and bigger enterprises to portray their presence and reach out to end users. For Android devices, Google provides the necessary infrastructure to develop new applications. These devices can reach millions of end users through Google's open market platform named "Google Play."

Such a large development and deployment process necessitates standardisation in order to ensure compatibility of these applications across the multitudes of Android devices that exist. To facilitate this, Google created a compatibility program that enables application developers, end users, and platform manufacturers to maintain program consistency and a similar user experience across devices. A detailed overview of the compatibility program is available on Google's Android web site.

The compatibility program consists of three key components: a Compatibility Definition Document (CDD), theAndroid Platform Source Code, and a Compatibility Test Suite (CTS). Any device that claims to be an "Android" device has to comply with the Android CDD and successfully pass all CTS test suites.

In order to study the framework within Android, it is important to understand the aforementioned three key components. Thus, in order to best study the Android USB framework, it is important to focus and explore what Android CDD defines as a USB requirement, and how that requirement is implemented. This article explores the USB section of the Android CDD in the Android USB framework. It will also introduce you to the various USB APIs that the Android framework exports in order to assist an application developer in managing the USB functionality of an Android device.

Android CDD C USB
At the time of this writing, Android 4.4 Kit Kat is the latest version of Android and Android 4.4 CDD defines the compatibility requirement of the Android Kit Kat version. You can find the complete list of Android CDDs on Google's Android website.

So, what is an Android CDD? In simple terms, the Android CDD defines the requirements that must be met in order for a device to claim that it is an Android-compatible device. To an extent, Android CDD is brief in that it is a 30-40 page document. This document can point to specifications like the USB Audio, for example, to indicate the user's expectation. The CDD also identifies features as "must," "must not," "required," "shall," "shall not," "should," "should not," "recommended," "may," and "optional," as per the IETF standard that is defined in RFC2119. It is important for developers to pay attention to these terms and take care while developing Android applications when using an optional feature or any feature listed as "may".

1???2???3???4???5?Next Page?Last Page

Article Comments - Basics of USB device dev't using And...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top