Skip to Content
Embedded Android
book

Embedded Android

by Karim Yaghmour
March 2013
Intermediate to advanced
410 pages
11h 49m
English
O'Reilly Media, Inc.
Book available
Content preview from Embedded Android

Appendix B. Adding Support for New Hardware

There are cases where your embedded system includes hardware that isn’t already supported in Android. And while some of the work you can do inside the AOSP is modular, adding support for new types of hardware is trickier since it requires knowledge of some of Android’s internals. This appendix shows you how to extend Android’s various layers to support your own type of hardware.

Note

While you may not be interested in actually adding support for new types of hardware in your system, you might find this appendix instructive if you’re trying to understand the intricate details of how the various layers of the Android stack actually come together.

Also, while this appendix demonstrates the modifications using a 2.3/Gingerbread codebase, the mechanisms and Java code being modified are very similar in 4.2/Jelly Bean. Where major differences exist, they will be pointed out in the text.

The Basics

As we discussed in Chapter 2, contrary to standard “vanilla Linux,” Android requires more than just proper device drivers to function on hardware. It in fact defines a new Hardware Abstraction Layer (HAL), which defines an API for each type of hardware supported by Android’s core. In order for a hardware component to properly interface with Android, it must have a corresponding hardware “module” (unrelated to kernel modules) that conforms to the API specified for that type of hardware.

Generally, each type of hardware supported by Android has a corresponding ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning Embedded Android N Programming

Learning Embedded Android N Programming

Ivan Morgillo, Stefano Viola
Learning Android, 2nd Edition

Learning Android, 2nd Edition

Marko Gargenta, Masumi Nakamura
Android High Performance Programming

Android High Performance Programming

Enrique López Mañas, Diego Grancini

Publisher Resources

ISBN: 9781449327958Errata Page