Android core principles and efficient system-level application development

Source: Internet
Author: User
Tags home screen skia
Android core principles and efficient system-level application development
Basic Information
Author: Han Chao [Translator's introduction]
Press: Electronic Industry Press
ISBN: 9787121173615
Mounting time:-2
Published on: February 1, July 2012
Start: 16
Page number: 448
Version: 1-1
Category: computer more about, Android core principles and efficient system-level application development
Introduction
Books
Computer books
Android core principles and efficient system-level application development is a technical book that introduces Android core development. Its main goal is to allow Android Developers to gain a deeper understanding of the Android system, make the development process more accurate and efficient. This book is mainly composed of two parts. It consists of 1st articles that describe the structure of the android core framework layer from the bottom up and include the development skills and key points. 2nd articles focus on the system-level application layer, focus on the key aspects of Android development.
Android core principles and efficient system-level application development presents the software structure of a huge Android system systematically and rationally for developers at the Android system level; android Application developers can use this book to gain a deeper understanding of the system and expand development methods. Developers engaged in Android hardware transplantation can use this book to gain a deeper understanding of the global system.
Directory
Android core principles and efficient system-level application development
1st Android core framework LAYER DEVELOPMENT
Chapter 2 Android framework 2
1.1 Android infrastructure 2
1.2 Android development environment 3
1.2.1 Development Environment 3
1.2.2 obtain source code 4
1.2.3 compile Android source code 4
1.2.4 simulator running 5
1.2.5 Use tools 5
1.3 system structure and code structure 7
1.3.1 software system structure 7
1.3.2 source code structure 9
Chapter 1 Compilation structure and various construction 13
2.1 Android system construction 13
2.1.1 compiling environment requirements 13
2.1.2 construction process 14
2.1.3 environment settings 16
2.1.4 system build result 16
2.2 construction of various components 18
2.2.1 Android. mk syntax 18
2.2.2 construction of various components 19
2.2.3 pre-compiled content installation 23
2.3 Android-compiled board-level support for 24
2.3.1 support the work of one Board 24
2.3.2 role of buildspec. mk file 25
2.3.3 vendersetup. SH and lunch commands 26
2.3.4 roles of the boardconfig. mk file 27
2.3.5 androidproducts. mk file 28
2.3.6 androidboard. mk file 29
2.3.7 layer superposition in compilation 30
Chapter 31 basics of local layer 31
3.1 local layer basic part structure 31
3.2 C language basics: bionic 31
3.2.1 structure of each part of bionic 32
3.2.2 bionic header file 32
3.2.3 check database for Memory leakage 33
3.2.4 support for Attribute systems 34
3.3 c language underlying database 35
3.3.1 log database 35
3.3.2 C language tool library libcutils 36
3.3.3 properties and sockets support 40
3.4 init executable programs and related scripts 42
3.4.1 structure of the init executable program 42
3.4.2 STARTUP script init. RC 43
3.4.3 built-in init actions and initialization 48
3.4.4 init loop 50
3.4.5 device management functions 55
3.5 shell tool 57
3.5.1 shell program sh 57
3.5.2 toolbox 59
3.6 Android attributes and socket mechanism 60
3.6.1 attribute mechanism 60
3.6.2 socket mechanism 63
Chapter 14 local layer framework section 67
4.1 local layer framework part structure 67
4.2 framework-layer tool library libutils 67
4.2.1 libutils structure 68
4.2.2 basic definitions and types 69
4.2.3 data structure and container class 70
4.2.4 tool 75
4.2.5 reference count and strength reference pointer 77
4.2.6 thread and related auxiliary functions 83
4.2.7 file operation listening loop 87
4.3 executable program as a global daemon 89
4.3.1 app_process 89
4.3.2 keystore 90
4.3.3 installd 91
4.3.4 vold 92
4.3.5 netd 94
4.4 binder IPC Mechanism structure 96
4.4.1 Android Binder Mechanism level 96
4.4.2 binder implementation 97
4.5 binder library and related content 98
4.5.1 implementation of specific binder 98
4.5.2 core functions of the binder library 99
4.5.3 Implementation of the binder framework and specific IPC structure 100
4.5.4 iservicemanager related 110
4.5.5 other parts of the binder library 113
4.6 servicemanager Implementation of executable programs and services 115
4.6.1 executable programs and processes in the Service Manager 115
4.6.2 implement "service" 118 in the system
4.6.3 servicemanager manages services 121
4.6.4 Android local service hierarchy 121
Chapter 2 Local startup process, debugging and design structure 5th
5.1 Android startup process local stage 123
5.1.1 Launch Process Overview 123
5.1.2 run the Bootloader and load the kernel 124
5.1.3 run and load the root file system in Linux 125
5.1.4 The first process running the user space 125
5.1.5 mount all file systems 126
5.1.6 running of various processes in the system 126
5.1.7 launch figure 128
5.2 local Android debugging 130
5.2.1 standard Linux debugging method 130
5.2.2 Method of Using Log 138
5.2.3 Android special debugging tool 139
5.3 structure design of local programs 145
5.3.1 objectives and design ideas 145
5.3.2 daemon + reserved socket design structure 146
5.3.3 design structure of daemon + local layer binder 147
Chapter 2 Java Runtime Environment 6th
6.1 Dalvik virtual machines and related tools 149
6.1.1 overview of Dalvik 149
6.1.2 Virtual Machine implementation and operation 150
6.1.3 The Dalvik tool 154
6.1.4 nativehelper library 156
6.2 Java base library libcore 156
6.2.1 libcore source code 156
6.2.2 content in the luni directory 158
6.2.3 other content in libcore 159
Chapter 2 Java framework layer 7th
7.1 Java framework layer structure 160
7.2 Android Java-layer API 161
7.2.1 Java framework layer API meaning 161
7.2.2 API description 162
7.2.3 hidden content 166
7.2.4 unsupported (obsolete) API 166
7.3 Java framework. Jar 168
7.3.1 composition and role of the Framework library 168
7.3.2 Framework library API 168
7.3.3 Framework library compilation structure 169
7.3.4 all parts of the Framework library 170
7.3.5 attributes 173
7.3.6 socket mechanism 174
7.4 Java service library services. Jar 175
7.4.1 composition and role of the Service database 176
7.4.2 Service Manager 176
7.4.3 main service functions 177
7.4.4 handling after startup 180
7.5 Resource Package framework-res.apk 180
7.5.1 composition and functions of Resource Packages 181
7.5.2 API resource ID 182
7.5.3 resource package androidmanifest. xml file 182
7.6 Policy Library 183
7.6.1 composition and role of the Policy Library 183
7.6.2 functions and use of the Policy Library 183
7.7 Java-layer Binder Mechanism 184
7.7.1 Java binder framework 185
7.7.2 binder of Java framework layer uses 189
7.7.3 type 194 of parameters and return values in the binder
Chapter 2 Local Java call 8th
8.1 Android Java local call 198
8.1.1 basic concepts of JNI 198
8.1.2 Android JNI 198
8.1.3 JNI in Android 201
8.2 use JNI 201 in the framework
8.2.1 framework layer uses the JNI structure 201
8.2.2 implementation of framework layer JNI 204
8.3 use JNI 207 in the application package
8.3.1 JNI Section 207 of the application package
8.3.2 typical Implementation of JNI in application package 207
8.3.3 several structural changes 210
8.4 advanced use of JNI 211
8.4.1 JNI two-way call 211
8.4.2 thread processing 215
8.4.3 special handling 216 in jnihelp
Chapter 2 Java startup process, debugging, and program structure 9th
9.1 Java Startup Process 218
9.1.1 Launch Process Overview 218
9.1.2 Java daemon 219
9.1.3 execute the zygoteinit class 220
9.1.4 system server part 222
9.1.5 Java application startup 227
9.2 Java part debugging 229
9.2.1 use Log 229 in Java
9.2.2 Java-layer Shell 229
9.2.3 code content-related debugging 232
9.2.4 ddms tool 237
9.2.5 hierarchyviewer tools 239
9.3 Java-layer program structure design 241
9.3.1 objectives and design ideas 241
9.3.2 design structure of services on the system server 242
9.3.3 service component design structure 243
Chapter 2 GUI system and application management 10th
10.1 structure and module relationship of GUI system 245
10.2 UI framework library and related 246
10.2.1 246 Basic Types
10.2.2 show related 247
10.2.3 handling of buttons and events 247
10.2.4 other content 249
10.3 surface layer system 249
10.3.1 structure of the surface system 250
10.3.2 local surface interface Section 251
10.3.3 local implementation of surface part 254
10.3.4 JNI code 255 of Surface
10.3.5 Java part 256 of Surface
10.4 2D graphics system 258
10.4.1 structure of 2D Graphic System 258
10.4.2 skia underlying database 259
10.4.3 JNI interface 263 of the Graphic System
10.4.4 2D image package 264
10.5 3D graphics system 264
10.5.1 OpenGL system structure 265
10.5.2 local OpenGL code 265
10.5.3 JNI code 267 of OpenGL
10.5.4 OpenGL Java 268
10.6 windows and views part 270
10.6.1 window and view part structure 270
10.6.2 bottom layer Implementation of Window Management 271
10.6.3 view implementation and upper-Layer window manager implementation 275
10.7 activity and Application Management 277
10.7.1 structure of activity and Application Management 277
10.7.2 Implementation of the active interface 278
10.7.3 Implementation of Application Management 282
2nd Key Points of Android system-level application development
Chapter 2 Android Application Layer interface structure and security 11th
11.1 Android Application layer interface structure 288
11.1.1 standard applications and source code-developed applications 288
11.1.2 third-party applications and preset applications 290
11.2 Android Security System 290
11.2.1 security overview 290
11.2.2 users and groups in Linux 291
11.2.3 Android license 294
11.3 program signature problems 296
11.3.1 concept of Android Application signature 296
11.3.2 Android app signature process 296
11.3.3 different program signature 298
11.3.4 certificate generation tool 299
11.4 Security Policy 300
11.4.1 Security Policy 300
11.4.2 Implementation of Security Policy 306
11.4.3 security policy customization 310
Chapter 2 local content and ndk development at the application layer 12th
12.1 local application Standardization 312
12.2 ndk environment 313
12.2.1 basic concepts of ndk 313
12.2.2 different meanings of ndk in several aspects 313
12.3 ndk composition 314
12.3.1 structure of the ndk environment 314
12.3.2 content contained in ndk 315
12.4 ndk development basics 317
12.4.1 compilation procedure 317
12.4.2 ndk programming highlights 318
12.4.3 development structure 319
12.5 JNI method 320
12.5.1 using JNI engineering structure 320 in ndk
12.5.2 local Bitmap bitmap 320
12.5.3 draw 321 locally using OpenGL ES
12.5.4 Procedure Implementation 321
12.6 build applications locally 328
12.6.1 local application interface 328
12.6.2 auxiliary library for local activity implementation: android_native_app_glue 332
12.6.3 Program Implementation 333
Chapter 2 preset Application Layer 13th
13.1 preset Application Layer Program Overview 339
13.2 preset Integrated Application 340
13.2.1 home screen 340
13.2.2 set 342
13.2.3 contact person and phone number 345
13.2.4 short message and multimedia message 347
13.2.5 browser and email 349
13.2.6 musical 352
13.2.7 camera and recorder 354
13.2.8 gallery 358.
13.2.9 search 359
13.2.10 clock, calculator and calendar 360
13.3 preset content provider 361
13.3.1 contact information provider 361
13.3.2 media information provider 362
13.3.3 telephone info provider 363
13.3.4 download information provider 363
13.4 preset Input Method 364
13.5 active wallpaper system 365
13.5.1 activity wallpaper selector 365
13.5.2 specific activity wallpaper 366
13.6 application package 366 that implements FRAMEWORK Functions
13.6.1 system interface 367
13.6.2 set the information provider 368
13.6.3 application packages whose subjects are service components 369
Chapter 2 Android system customization 14th
14.1 Android system customization overview 371
14.2 general application customization 371
14.2.1 general application customization 371
14.2.2 preset Application Component visibility 372
14.2.3 intent-filter 372 of the component
14.3 desktop customization 373
14.3.1 desktop program entry and function 374
14.3.2 desktop program details 375
14.3.3 programs executed before the desktop 378
14.4 customization of system resources 378
14.4.1 concepts and principles for defining resources 379
14.4.2 some configuration values: 379
14.4.3 customizable 379
14.4.4 custom styles and themes 380
382 customization of internal layout
14.5 customization of internal components and interfaces of the Framework 383
14.5.1 internal component 383
14.5.2 Internal interface 385
14.6 customization of the status bar interface 385
14.6.1 functions and layout of the status bar interface 385
14.6.2 status bar 387
14.7 screen lock page customization 389
14.7.1 screen lock page function 390
14.7.2 lock screen 391
14.8 boot animation customization 393
Chapter 2 system-level debugging and testing 15th
15.1 debugging 396
15.1.1 command line debugging tool 396
15.1.2 auxiliary tools on the page 402
15.2 testing systems and tools 403
15.2.1 structure of the test system 404
15.2.2 monkey 404
15.2.3 monkeyrunner 406
15.3 code-level testing 409
15.3.1 code testing framework 409
15.3.2 code test method 411
15.4 compatibility and compatibility testing 414
15.4.1 Android compatibility 414
15.4.2 CTS compatibility 416
15.4.3 source code and principles of CTS 419
Appendix A Android version evolution and
Android 4.x 423
A.1 Android version evolution 423
A.2 update 423 of the compilation system
A.3 update 425 of local framework layer
Keyword 425 in A.3.1 init. RC
A.3.2 surfaceflinger acts as an independent daemon 425
A.3.3 netd daemon 426
A.4 Java framework update 426
A.4.1 Java framework API description 426
A.4.2 Java class library upgrade 427
A.4.3 Java Service Pack 428
A.4.4 tools 428
A.5 GUI system update 429
A.5.1 GUI 429
A.5.2 skia engine change 430
A.5.3 OpenGL engine change 430
A.5.4 window change 430
A.6 update 432 of Java Application Layer
A.6.1 systemui 432
A.6.2 desktop 432
A.6.3 common application 433
A.7 local standard applications and ndk environments 434

Source of this book: China Interactive publishing network

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.