深入解剖 Android 原始程式 (舊版: 解剖 Android 原生代碼-以系統發明人的角度細讀程式)

鄧凡平

  • 出版商: 佳魁資訊
  • 出版日期: 2016-08-23
  • 定價: $580
  • 售價: 7.9$458
  • 貴賓價: 7.8$452
  • 語言: 繁體中文
  • ISBN: 9863793949
  • ISBN-13: 9789863793946

立即出貨 (庫存 < 5)

買這商品的人也買了...

商品描述

<內容介紹>

本書的重點是Android Framework的Java層,對Java層有關的核心模組和服務深入且詳細的分析。透過本書,讀者不僅能對Android系統本身有更深入的了解,而且還能掌握分析大型複雜原始程式碼的能力。
全書以直接剖析原始程式的方式進行講解,旨在引領讀者一步步深入Android系統中相關模組的內部原理,去了解它們是如何實現、如何工作的。在分析過程中,筆者根據個人研究Android 程式的心得,採用了精簡流程和一個個擊破的方法。同時,筆者還提出一些難度不大的基礎知識、相關的補充閱讀資料,甚至筆者在實際專案中遇到的開放式問題,留給讀者自行研究和探討。
適用:Android應用開發工程師、Android系統開發工程師、對Android系統執行原理有興趣的讀者。
                             

<章節目錄>
前言
第1章 架設Android 原始程式工作環境
1.1  Android 系統架構
1.2 架設開發環境
1.2.1 下載原始程式
1.2.2 編譯原始程式
1.2.3 利用Eclipse偵錯system_process
1.3 本章小結
第2章 深入了解Java Binder 和MessageQueue
2.1 概述
2.2 Java 層中的Binder 架構分析 
2.2.1 Binder架構總覽 
2.2.2 初始化Java層Binder框架 
2.2.3 addService實例分析 
2.2.4 Java層Binder架構歸納
2.3 心系兩界的MessageQueue
2.3.1 MessageQueue的建立 
2.3.2 分析訊息 
2.3.3 nativePollOnce函數分析
2.3.4 MessageQueue歸納
第3章 深入了解SystemServer
3.1 概述 
3.2 SystemServer 分析 
3.2.1 main函數分析
3.2.2 Service群英會 
3.3 EntropyService 分析
3.4 DropBoxManagerService 分析 
3.4.1 DBMS建構函數分析 
3.4.2 dropbox記錄檔的增加 
3.4.3 DBMS和settings資料庫 
3.5 DiskStatsService 和DeviceStorageMonitorService 分析
3.5.1 DiskStatsService分析
3.5.2 DeviceStorageManagerService分析 
3.6 SamplingProfilerService 分析 
3.6.1 SamplingProfilerService建構函數分析 
3.6.2 SamplingProfilerIntegration分析
3.7 ClipboardService 分析 
3.7.1 複製資料到剪貼簿 
3.7.2 從剪貼簿貼上資料 
3.7.3 CBS中的許可權管理
3.8 本章小結
第4章 深入了解PackageManagerService
4.1 概述
4.2 初識PackageManagerService
4.3 PKMS 的main 函數分析 
4.3.1 建構函數分析之前期準備工作 
4.3.2 建構函數分析之掃描Package 
4.3.3 建構函數分析之掃尾工作
4.3.4 PKMS建構函數歸納
4.4 APK Installation 分析 
4.4.1 adb install分析
4.4.2 pm分析 
4.4.3 installPackageWithVerification函數分析 
4.4.4 APK 安裝流程歸納
4.4.5 Verification介紹
4.5 queryIntentActivities 分析
4.5.1 Intent及IntentFilter介紹 
4.5.2 Activity資訊的管理 
4.5.3 Intent 比對查詢分析
4.5.4 queryIntentActivities歸納 
4.6 installd 及UserManager 介紹 
4.6.1 installd介紹 
4.6.2 UserManager介紹
4.7 本章學習重點
4.8 本章小結
第5章 深入了解PowerManagerService
5.1 概述
5.2 初識PowerManagerService
5.2.1 PMS建構函數分析 
5.2.2 init分析
5.2.3 systemReady分析
5.2.4 BootComplete處理 
5.2.5 初識PowerManagerService歸納 
5.3 PMS WakeLock 分析
5.3.1 WakeLock用戶端分析 
5.3.2 PMS acquireWakeLock分析 .
5.3.3 Power類別及LightService類別介紹 
5.3.4 WakeLock歸納 
5.4 userActivity 及Power 按鍵處理分析 
5.4.1 userActivity分析 
5.4.2 Power按鍵處理分析
5.5 BatteryService 及BatteryStatsService 分析
5.5.1 BatteryService分析
5.5.2 BatteryStatsService分析
5.5.3 BatteryService及BatteryStatsService歸納 
5.6 本章學習重點
5.7 本章小結
第6章 深入了解ActivityManagerService
6.1 概述
6.2 初識ActivityManagerService 
6.2.1 ActivityManagerService的main函數分析
6.2.2 AMS的 setSystemProcess分析
6.2.3 AMS的 installSystemProviders函數分析 
6.2.4 AMS的 systemReady分析 
6.2.5 初識ActivityManagerService歸納
6.3 startActivity 分析
6.3.1 從am說起
6.3.2 AMS的startActivityAndWait函數分析 
6.3.3 startActivityLocked分析
6.4 Broadcast 和BroadcastReceiver 分析
6.4.1 registerReceiver流程分析
6.4.2 sendBroadcast流程分析
6.4.3 BROADCAST_INTENT_MSG訊息處理函數
6.4.4 應用處理程序處理廣播分析 
6.4.5 廣播處理歸納
6.5 startService 之按圖索驥 
6.5.1 Service知識介紹 
6.5.2 startService流程圖
6.6 AMS 中的處理程序管理 
6.6.1 Linux處理程序管理介紹
6.6.2 關於Android中的處理程序管理的介紹
6.6.3 AMS處理程序管理函數分析 
6.6.4 AMS處理程序管理歸納 
6.7 App 的 Crash 處理
6.7.1 應用處理程序的Crash處理
6.7.2 AMS的handleApplicationCrash分析 
6.7.3 AppDeathRecipient binderDied分析
6.7.4 App的Crash處理歸納 
6.8 本章學習重點
第7章 深入了解ContentProvider
7.1 概述
7.2 MediaProvider 的啟動及建立
7.2.1 Context的getContentResolver函數分析
7.2.2 MediaStore.Image.Media的query函數分析 
7.2.3 MediaProvider的啟動及建立歸納
7.3 SQLite 建立資料庫分析
7.3.1 SQLite及SQLiteDatabase家族 
7.3.2 MediaProvider建立資料庫分析
7.3.3 SQLiteDatabase建立資料庫的分析歸納 
7.4 Cursor 的query 函數的實現分析
7.4.1 分析query關鍵點
7.4.2 MediaProvider 的query分析 
7.4.3 query關鍵點分析 
7.4.4 Cursor query實現分析歸納 
7.5 Cursor close 函數實現分析
7.5.1 用戶端close的分析 
7.5.2 服務端close的分析 
7.5.3 finalize函數分析 
7.5.4 Cursor close函數歸納 
7.6 ContentResolver openAssetFileDescriptor 函數分析
7.6.1 openAssetFileDescriptor之用戶端呼叫分析
7.6.2 ContentProvider的 openTypedAssetFile函數分析
7.6.3 跨處理程序傳遞檔案描述符號的探討
7.6.4 openAssetFileDescriptor函數分析歸納 
7.7 本章學習重點 
7.8 本章小結
第8章 深入了解ContentService 和AccountManagerService
8.1 概述
8.2 資料更新通知機制分析 
8.2.1 初識ContentService 
8.2.2 ContentResovler 的registerContentObserver分析 
8.2.3 ContentResolver的 notifyChange分析 
8.2.4 資料更新通知機制歸納和深入探討 
8.3 AccountManagerService 分析
8.3.1 初識AccountManagerService
8.3.2 AccountManager addAccount分析 
8.3.3 AccountManagerService的分析歸納 
8.4 資料同步管理SyncManager 分析 
8.4.1 初識SyncManager 
8.4.2 ContentResolver 的requestSync分析
8.4.3 資料同步管理SyncManager分析歸納 
8.5 本章學習重點 
8.6 本章小結