Embedded Android /
Yaghmour, Karim.
Sebastopol, CA : O'Reilly,
2013.
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. - Publisher.
Includes index.
Preface. Learning How to Embed Android -- Audience for This Book -- Organization of the Material -- Software Versions -- Conventions Used in This Book -- Using Code Examples -- How to Contact Us -- Acknowledgments -- 1. Introduction. History -- Features and Characteristics -- Development Model -- Ecosystem -- Getting "Android" -- Legal Framework -- Hardware and Compliance Requirements -- Development Setup and Tools -- 2. Internals Primer. App Developer's View -- Overall Architecture -- Linux Kernel -- Hardware Support -- Native User-Space -- Dalvik and Android's Java -- System Services -- Stock AOSP Packages -- System Startup -- 3. AOSP Jump-Start. Development Host Setup -- Getting the AOSP -- Inside the AOSP -- Build Basics -- Running Android -- Using the Android Debug Bridge (ADB) -- Mastering the Emulator -- 4. The Build System. Comparison with Other Build Systems -- Architecture -- Build Recipes -- Basic AOSP Hacks -- 5. Hardware Primer. Typical System Architecture -- What's in a System-on-Chip (SoC)? -- Memory Layout and Mapping -- Development Setup -- Evaluation Boards -- 6. Native User-Space. Filesystem -- adb -- Android's Command Line -- Init -- 7. Android Framework. Kick-Starting the Framework -- Utilities and Commands -- Support Daemons -- Hardware Abstraction Layer -- Appendix A : Legacy User-Space. Basics -- Theory of Operation -- Merging with the AOSP -- Using the Combined Stacks -- Caveats and Pending Issues -- Moving Forward -- Appendix B : Adding Support for New Hardware. The Basics -- The System Service -- The HAL and Its Extension -- The HAL Module -- Calling the System Service -- Starting the System Service -- Caveats and Recommendations -- Appendix C : Customizing the Default Lists of Packages. Overall Dependencies -- Assembling the Final PRODUCT_PACKAGES -- Trimming Packages -- Appendix D : Default init.rc Files. 2.3/Gingerbread's default init.rc -- 4.2/Jelly Bean's Default init Files -- Appendix E. Resources. Websites and Communities -- Books -- Conferences and Events -- About the Author.
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. - Publisher.
Android (Electronic resource)