Embedded Android: Porting, Extending, and Customizing
Format: PDF / Kindle (mobi) / ePub
Looking to port Android to other platforms such as embedded devices? This hands-on book shows you how Android works and how you can adapt it to fit your needs. You’ll delve into Android’s architecture and learn how to navigate its source code, modify its various components, and create your own version of Android for your particular device. You’ll also discover how Android differs from its Linux roots.
If you’re experienced with embedded systems development and have a good handle on Linux, this book helps you mold Android to hardware platforms other than mobile devices.
- Learn about Android’s development model and the hardware you need to run it
- Get a quick primer on Android internals, including the Linux kernel and Dalvik virtual machine
- Set up and explore the AOSP without hardware, using a functional emulator image
- Understand Android’s non-recursive build system, and learn how to make your own modifications
- Use evaluation boards to prototype your embedded Android system
- Examine the native user-space, including the root filesystem layout, the adb tool, and Android’s command line
- Discover how to interact with—and customize—the Android Framework
are not visible on the filesystem.  This file’s naming is similar to that of the /init.
/dev/ashmem/dalvik-heap 6980K 6980K 3218K 2896K system_server  5208K 5208K 1371K 1048K com.android.launcher  5272K 5272K 1343K 1012K com.android.phone  ... ------ BINDER FAILED TRANSACTION LOG (/sys/kernel/debug/binder/failed_transactio n_log) ------ *** /sys/kernel/debug/binder/failed_transaction_log: No such file or directory ------ BINDER TRANSACTION LOG (/sys/kernel/debug/binder/transaction_log) ------ *** /sys/kernel/debug/binder/transaction_log: No such file or directory
against each other in quite a few countries. Microsoft is also rumored to be contacting various manufacturers to request royalties for the use of Android; as evidenced by some of the filings made by Barnes & Noble with the courts after it was sued by Microsoft for refusing to pay. How any of this might affect your own product is difficult to say. As always, consult with competent legal counsel as needed. Usually it’s a question of volume. So if your product is for a niche market, you’re probably
through /dev/binder, which will be covered later in this chapter. App developers, however, do not use the Binder mechanism directly. Instead, they must define and interact with interfaces using Android’s Interface Definition Language (IDL). Interface definitions are usually stored in an .aidl file and are processed by the aidl tool to generate the proper stubs and marshaling/unmarshaling code required to transfer objects and data back and forth using the Binder mechanism. Framework Intro
can see, the market is increasingly offering dual-core Android devices, and quad-core devices are just around the corner. Manufacturers are “out-coring” themselves as fast as they can. That doesn’t mean your embedded Android system needs to have that much firepower, but chances are that component pricing will bring the cost of a multicore SoC within your design’s reach in the foreseeable future. Table 5-1. SoC lineup SoC Manufacturer CPU Speed GPU OMAP3 Texas Instruments (TI) ARM Cortex-A8