Inside the Android OS: Building, Customizing, Managing and Operating Android System Services
- Length: 272 pages
- Edition: 1
- Language: English
- Publisher: Addison-Wesley Professional
- Publication Date: 2021-08-10
- ISBN-10: 0134096347
- ISBN-13: 9780134096346
- Sales Rank: #482068 (See Top 100 Books)
The Complete Guide to Customizing Android for New IoT and Embedded Devices
Inside the Android OS is a comprehensive guide and reference for technical professionals who want to customize and integrate Android into embedded devices, and construct or maintain successful Android-based products. Replete with code examples, it encourages you to create your own working code as you read–whether for personal insight or a professional project in the fast-growing marketplace for smart IoT devices.
>Expert Android developers G. Blake Meike and Larry Schiefer respond to the real-world needs of embedded and IoT developers moving to Android. After presenting an accessible introduction to the Android environment, they guide you through boot, subsystem startup, hardware interfaces, and application support–offering essential knowledge without ever becoming obscure or overly specialized.
Reflecting Android’s continuing evolution, Meike and Schiefer help you take advantage of relevant innovations, from the ART application runtime environment to Project Treble. Throughout, a book-length project covers all you need to start implementing your own custom Android devices, one step at a time.
You will:
- Assess advantages and tradeoffs using Android in smart IoT devices
- Master practical processes for customizing Android
- Set up a build platform, download the AOSP source, and build an Android image
- Explore Android’s components, architecture, source code, and development tools
- Understand essential kernel modules that are unique to Android
- Use Android’s extensive security infrastructure to protect devices and users
- Walk through Android boot, from power-on through system initialization
- Explore subsystem startup, and use Zygote containers to control application processes
- Interface with hardware through Android’s Hardware Abstraction Layer (HAL)
- Provide access to Java programs via Java Native Interface (JNI)
- Gain new flexibility by using binderized HAL (Project Treble)
- Implement native C/C++ or Java client apps without bundling vendor libraries
Cover Page About This eBook Halftitle Page Title Page Copyright Page Dedication Page Contents at a Glance Contents Preface Example Code Register Your Book Acknowledgments About the Authors 1. Why Android? Adopting Android AOSP and Google Other Choices Summary 2. Booting Acme Setting Up a Build Machine Downloading the Code Repo Forking the Source Repository Commit Pinning Example: Local Mirror of Forked Repositories Building an Image Device Tools Flashing the Device Summary 3. Getting Started Putting Android in Its Place The Android Service Model Exploring the Source Summary 4. The Kernel The Linux Kernel The Android Kernel Building a Kernel Summary 5. Platform Security Types of Security Verified Boot Operational Security User Protections Customizing Permissions Summary 6. System Startup: Installing and Booting the System The Boot Process Recovery Building a Daemon Creating the Acme Device Repo Again Starting the Daemon Summary 7. Android Startup: Dalvik and Zygote Dalvik ART Zygote Summary Citations 8. Getting to Android: The HAL Why a HAL? Is a HAL Necessary? Designing the HAL Building a HAL Summary 9. Getting to Java: The JNI Code Structure Using the Device Using the HAL Using the Java Native Interface Summary 10. Project Treble: Binderized HAL HIDL Architecture Hardware Interface Definition Language (HIDL) HIDL Services HIDL Clients Summary 11. Creating a Custom Binderized HAL Acme Custom HIDL Summary 12. Clients for a Custom Binderized HAL Native C++ Aproximity Client Java/Kotlin Aproximity Client Summary Index Code Snippets
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.