وبلاگ بلیان

Inside the Android OS: Building, Customizing, Managing and Operating Android System Services (Android Deep Dive)

معرفی کتاب «Inside the Android OS: Building, Customizing, Managing and Operating Android System Services (Android Deep Dive)» نوشتهٔ G. Blake Meike و Lawrence Schiefer، منتشرشده توسط نشر Addison-Wesley Professional در سال 2021. این کتاب در 272 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Inside the Android OS: Building, Customizing, Managing and Operating Android System Services (Android Deep Dive)» در دستهٔ برنامه‌نویسی قرار دارد.

**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 1 Half Title 2 Title 4 Copyright 5 Dedication 6 Contents at a Glance 8 Contents 10 Preface 14 1 Why Android? 18 Adopting Android 18 Full Stack 19 Broad Acceptance 19 Beautiful UI 19 Linux Based 19 Powerful Development Environment 20 Open Source 20 AOSP and Google 22 Other Choices 23 Micro-Controllers 23 Other RTOSs 24 Summary 25 2 Booting Acme 26 Setting Up a Build Machine 27 Downloading the Code 28 Repo 28 Forking the Source 32 Android Version Selection 33 Local Mirror 34 Hosted Git Repositories 35 Tree Snapshot 36 Repository Commit Pinning 36 Example: Local Mirror of Forked Repositories 36 Building an Image 41 Device Tools 44 fastboot 45 adb 46 Flashing the Device 47 Summary 50 3 Getting Started 52 Putting Android in Its Place 52 Hardware 53 The Linux Kernel 53 System Libraries 54 Applications 55 The Android Framework 56 The Android Service Model 57 Exploring the Source 60 Other Sources 61 What’s in the Box? 61 Summary 65 4 The Kernel 66 The Linux Kernel 66 Kernel Process Management 67 Kernel Memory Management 68 The Android Kernel 70 Android Kernel Features 71 Building a Kernel 79 The Build System 80 Downloading the Source 80 Summary 83 5 Platform Security 84 Types of Security 84 Verified Boot 85 Operational Security 86 Android Software Layers 87 The Process Sandbox 87 SE Linux for Android 89 SE Policy Definition 90 Android Permissions 93 File Systems 96 User Protections 99 Customizing Permissions 100 Sample Custom Permission–Protected App 100 Sample Custom Permission Client App 105 Summary 109 6 System Startup: Installing and Booting the System 110 The Boot Process 110 Bootloader 112 Fastboot 116 Kernel 117 The File System 119 init 121 Recovery 123 Building a Daemon 124 Creating the Acme Device 124 Repo Again 127 Starting the Daemon 128 Summary 131 7 Android Startup: Dalvik and Zygote 132 Dalvik 133 ART 137 ART Basics 137 Hybrid ART 139 Zygote 140 Zygote Memory Management 140 Zygote Startup 144 Runtime Initialization 145 System Service Startup 146 Summary 148 Citations 148 8 Getting to Android: The HAL 150 Why a HAL? 150 Is a HAL Necessary? 152 Designing the HAL 153 Building a HAL 154 Code Structure 155 Implementing the HAL 157 Summary 168 9 Getting to Java: The JNI 170 Code Structure 171 Using the Device 172 Using the HAL 174 Using the Java Native Interface 176 Executing Native Code 177 JNI: The Java Side 178 JNI: The Native Side 179 A Java Proximity Application 182 JNI: Some Hints 193 Summary 199 10 Project Treble: Binderized HAL 200 HIDL Architecture 200 hwservicemanager 202 HIDL Services 202 HIDL Client Applications 203 Hardware Interface Definition Language (HIDL) 203 HIDL Types 208 HIDL Services 211 HIDL Clients 214 Summary 215 11 Creating a Custom Binderized HAL 216 Acme Custom HIDL 216 Summary 234 12 Clients for a Custom Binderized HAL 236 Native C++ Aproximity Client 236 SE Linux for Android Changes for aproximitycl 241 Build aproximitycl into Acme 242 Java/Kotlin Aproximity Client 243 SE Linux for Android Changes for AproximityClient 246 Build AproximityClient into Acme 246 Summary 248 Index 250 A 250 B 252 C 253 D 254 E, F 255 G, H 256 I, J 257 K, L 258 M 259 N, O, P 260 Q, R 261 S 262 T 263 U, V, W, X-Y-Z 264 Inside the Android OS is the first comprehensive guide and reference for developers who want to customize and integrate Android into their own embedded devices. Replete with code examples, it encourages you to create your own working code versions as you read -- whether for your own personal insight or for a workplace project in the fast-growing marketplace for non-phone Android devices. G. Blake Meike responds to the real-world needs of embedded and IoT developers moving to Android, providing indispensable information without becoming obscure or too specialized. Meike teaches through a book-length project that covers everything developers need to know to create their own custom Android service. You'll find approachable yet precise coverage of: Why Android is becoming a pervasive embedded platform Using Android's four-tier architectural model in embedded devices Setting up a build platform, downloading the AOSP source, and building an Android image Walking through system startup on a running Android system Running native services on embedded systems Using Android's Native Development Kit (NDK) and HAL to link interpreted Java with native C/C++ code Taking a deep dive into the seminal Zygote application and its Dalvik interpreter Quickly building Java system services Working with Binder, Android's heart and the root of its security and access control models Establishing permissions and access control Enabling apps to use the services you've created Building SDKs that allow third-party developers to code for your device And much more If you're a software professional who wants to construct or maintain a successful Android-based product, this is the book you've been searching for Offers a comprehensive guide and reference for developers who want to customize and integrate Android into their own embedded devices, and construct or maintain successful Android-based products. Replete with code examples, this volume encourages users to create their own working code versions as they read -- whether for personal insight or for a workplace project in the marketplace for non-phone Android devices. Meike responds to the real-world needs of embedded and IoT developers moving to Android, providing indispensable information without becoming obscure or too specialized. Meike teaches through a book-length project that covers everything developers need to know to create their own custom Android service. --From publisher description
دانلود کتاب Inside the Android OS: Building, Customizing, Managing and Operating Android System Services (Android Deep Dive)