Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Embedded Android Dedication Dedication Preface
Learning How to Embed Android Audience for This Book Organization of the Material Software Versions Conventions Used in This Book Using Code Examples Safari® Books Online How to Contact Us Acknowledgments
1. Introduction
History Features and Characteristics Development Model
Differences From “Classic” Open Source Projects Feature Inclusion, Roadmaps, and New Releases
Ecosystem
A Word on the Open Handset Alliance
Getting “Android” Legal Framework
Code Licenses Branding Use Google’s Own Android Apps Alternative App Markets Oracle versus Google Mobile Patent Warfare
Hardware and Compliance Requirements
Compliance Definition Document
Software Application packaging compatibility Multimedia compatibility Developer tool compatibility Hardware compatibility Performance compatibility Security model compatibility Software compatibility testing Updatable software
Compliance Test Suite
Development Setup and Tools
2. Internals Primer
App Developer’s View
Android Concepts
Components Intents Component lifecycle Manifest file Processes and threads Remote procedure calls (RPCs)
Framework Intro App Development Tools Native Development
Overall Architecture Linux Kernel
Wakelocks Low-Memory Killer Binder Anonymous Shared Memory (ashmem) Alarm Logger Other Notable Androidisms
Hardware Support
The Linux Approach Android’s General Approach Loading and Interfacing Methods Device Support Details
Native User-Space
Filesystem Layout Libraries Init
Configuration language Global properties udev events
Toolbox Daemons Command-Line Utilities
Dalvik and Android’s Java
Java Native Interface (JNI)
System Services
Service Manager and Binder Interaction Calling on Services A Service Example: the Activity Manager
Stock AOSP Packages System Startup
3. AOSP Jump-Start
Development Host Setup Getting the AOSP Inside the AOSP Build Basics
Build System Setup Building Android
Running Android Using the Android Debug Bridge (ADB) Mastering the Emulator
4. The Build System
Comparison with Other Build Systems Architecture
Configuration envsetup.sh Function Definitions Main Make Recipes Cleaning Module Build Templates Output
Build Recipes
The Default droid Build Seeing the Build Commands Building the SDK for Linux and Mac OS Building the SDK for Windows Building the CTS Building the NDK Updating the API Building a Single Module Building Out of Tree Building Recursively, In-Tree
Basic AOSP Hacks
Adding a Device Adding an App Adding an App Overlay Adding a Native Tool or Daemon Adding a Native Library
5. Hardware Primer
Typical System Architecture
The Baseband Processor Core Components Real-World Interaction Connectivity Expansion, Development, and Debugging
What’s in a System-on-Chip (SoC)? Memory Layout and Mapping Development Setup Evaluation Boards
6. Native User-Space
Filesystem
The Root Directory /system /data
Multiuser support
SD Card The Build System and the Filesystem
Build templates and file locations Explicitly copying files Default rights and ownership
adb
Theory of Operation Main Flags, Parameters, and Environment Variables Basic Local Commands Device Connection and Status Basic Remote Commands
Shell Dumping the logs Getting a bug report Port forwarding Dalvik debugging
Filesystem Commands State-Altering Commands
Rebooting Running as root Switching connection type Controlling the emulator
Tunneling PPP
Android’s Command Line
The Shell Up to 2.3/Gingerbread The Shell Since 4.0/Ice-Cream Sandwich Toolbox
Common Linux commands Global properties Input events Controlling services Logging ioctl Wiping the device Other Android-specific commands
nandread newfs_msdos notify r schedtop setconsole smd
Core Native Utilities and Daemons
logcat netcfg debuggerd Other Android-specific core utilities and daemons
check_prereq linker logwrapper run-as sdcard utility
Extra Native Utilities and Daemons Framework Utilities and Daemons
Init
Theory of Operation Configuration Files
Location Semantics
Property-based triggers Action commands Service declarations Service options
Main init.rc Board-specific .rc files
Global Properties
Theory of operation Nomenclature and sets Storage
The build system Additional property files .rc files Code /data/property
ueventd Boot Logo
7. Android Framework
Kick-Starting the Framework
Core Building Blocks System Services Boot Animation
bootanimation.zip Disabling the boot animation
Dex Optimization Apps Startup
Input methods Persistent apps Home screen BOOT_COMPLETED intent APPWIDGET_UPDATE intent
Utilities and Commands
General-Purpose Utilities
service dumpsys dumpstate rawbu
Service-Specific Utilities
am pm svc ime input monkey bmgr stagefright
Dalvik Utilities
dalvikvm dvz dexdump
Support Daemons
installd vold netd rild keystore Other Support Daemons
Hardware Abstraction Layer
A. Legacy User-Space
Basics Theory of Operation Merging with the AOSP Using the Combined Stacks Caveats and Pending Issues Moving Forward
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
C. Customizing the Default Lists of Packages
Overall Dependencies Assembling the Final PRODUCT_PACKAGES Trimming Packages
D. Default init.rc Files
2.3/Gingerbread’s default init.rc 4.2/Jelly Bean’s Default init Files
init.rc init.usb.rc init.trace.rc
E. Resources
Websites and Communities
Google SoC Vendors Forks Documentation and Forums Embedded Linux Build Tools Open Hardware Projects
Books Conferences and Events
Index About the Author Colophon Copyright
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion