ABE-IPSABE HOLDINGABE BOOKS
English Polski
On-line access

Bookstore

0.00 PLN
Bookshelf (0) 
Your bookshelf is empty
Inside the Android OS: Building, Customizing, Managing and Operating Android System Services

Inside the Android OS: Building, Customizing, Managing and Operating Android System Services

Authors
Publisher Pearson Education (US)
Year 30/09/2021
Pages 272
Version paperback
Readership level Professional and scholarly
Language English
ISBN 9780134096346
Categories PDA / Handheld programming
$50.31 (with VAT)
223.65 PLN / €47.95 / £41.63
Qty:
Delivery to United States

check shipping prices
Product to order
Delivery 3-4 weeks
Add to bookshelf

Book description

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

Inside the Android OS: Building, Customizing, Managing and Operating Android System Services

Table of contents

Preface      xiii

Chapter 1  Why Android?      1

Adopting Android      1

    Full Stack      2

    Broad Acceptance      2

    Beautiful UI      2

    Linux Based      2

    Powerful Development Environment      3

    Open Source      3

AOSP and Google      5

Other Choices      6

    Micro-Controllers      6

    Other RTOSs      7

Summary      8

Chapter 2  Booting Acme      9

Setting Up a Build Machine      10

Downloading the Code      11

Repo      11

Forking the Source      15

    Android Version Selection      16

    Local Mirror      17

    Hosted Git Repositories      18

    Tree Snapshot      19

Repository Commit Pinning      19

Example: Local Mirror of Forked Repositories      19

Building an Image      24

Device Tools      27

    fastboot      28

    adb      29

Flashing the Device      30

Summary      33

Chapter 3  Getting Started      35

Putting Android in Its Place      35

    Hardware      36

    The Linux Kernel      36

    System Libraries      37

    Applications      38

    The Android Framework      39

The Android Service Model      40

Exploring the Source      43

    Other Sources      44

    What’s in the Box?      44

Summary      48

Chapter 4  The Kernel      49

The Linux Kernel      49

    Kernel Process Management      50

    Kernel Memory Management      51

The Android Kernel      53

    Android Kernel Features      54

Building a Kernel      62

    The Build System      63

    Downloading the Source      63

Summary      66

Chapter 5  Platform Security      67

Types of Security      67

Verified Boot      68

Operational Security      69

    Android Software Layers      70

    The Process Sandbox      70

    SE Linux for Android      72

    SE Policy Definition      73

    Android Permissions      76

    File Systems      79

User Protections      82

Customizing Permissions      83

    Sample Custom Permission-Protected App      83

    Sample Custom Permission Client App      88

Summary      92

Chapter 6  System Startup: Installing and Booting the System      93

The Boot Process      93

    Bootloader      95

    Fastboot      99

    Kernel      100

    The File System      102

    init      104

Recovery      106

Building a Daemon      107

Creating the Acme Device      107

Repo Again      110

Starting the Daemon      111

Summary      114

Chapter 7  Android Startup: Dalvik and Zygote      115

Dalvik      116

    ART      120

    ART Basics      120

Hybrid ART      122

Zygote      123

    Zygote Memory Management      123

    Zygote Startup      127

    Runtime Initialization      128

    System Service Startup      129

Summary      131

Citations      131

Chapter 8  Getting to Android: The HAL      133

Why a HAL?      133

Is a HAL Necessary?      135

Designing the HAL      136

Building a HAL      137

    Code Structure      138

    Implementing the HAL      140

Summary      151

Chapter 9  Getting to Java: The JNI      153

Code Structure      154

Using the Device      155

Using the HAL      157

Using the Java Native Interface      159

    Executing Native Code      160

    JNI: The Java Side      161

    JNI: The Native Side      162

    A Java Proximity Application      165

    JNI: Some Hints      176

Summary      182

Chapter 10  Project Treble: Binderized HAL      183

HIDL Architecture      183

    hwservicemanager      185

    HIDL Services      185

    HIDL Client Applications      186

Hardware Interface Definition Language (HIDL)      186

    HIDL Types      191

HIDL Services      194

HIDL Clients      197

Summary      198

Chapter 11  Creating a Custom Binderized HAL      199

Acme Custom HIDL      199

Summary      217

Chapter 12  Clients for a Custom Binderized HAL      219

Native C++ Aproximity Client      219

    SE Linux for Android Changes for aproximitycl      224

    Build aproximitycl into Acme      225

Java/Kotlin Aproximity Client      226

    SE Linux for Android Changes for AproximityClient      229

    Build AproximityClient into Acme      229

Summary      231

Index      233

We also recommend books

Strony www Białystok Warszawa
801 777 223