Android深度探索卷2:系統套用原始碼分析與ROM定製

Android深度探索卷2:系統套用原始碼分析與ROM定製

《Android深度探索卷2:系統套用原始碼分析與ROM定製》是2019年2月人民郵電出版社出版的圖書,作者是李寧。

基本介紹

  • 書名:Android深度探索卷2:系統套用原始碼分析與ROM定製
  • 作者:李寧
  • ISBN:9787115367945
  • 頁數:496頁
  • 定價:89元
  • 出版社:人民郵電出版社
  • 出版時間:2019年2月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

《Android深度探索(卷2)系統套用原始碼分析與ROM定製》為2部分。第 1部分主要介紹了Android原始碼和Linux核心原始碼的下載和編譯,Root許可權的提取,Android ROM的製作和刷機,Recovery的定製等。第 二部分主要分析了主要Android系統套用的實現原理和原始碼。這些系統套用包括Android套用安裝和卸載管理、系統設定、系統設定內容提供者、電話與聯繫人管理、簡訊與彩信管理、Launcher2和NFC後台服務程式。通過對這些Android系統套用的原始碼分析,會使讀者定製出更完 美的Android ROM。
本書主要採用了CM10.1(Android4.2.2)原始碼進行講解和分析,使讀者可以系統和完整地掌握定製Android ROM所需要的新技術。論讀者是想找一份好工作,還是想滿足自己的Geek情節,本書都是您的選擇。
本書適合具備一定的開發經驗(需要有Java或C/C++開發經驗)、想學習Android和Linux底層開發的程式設計師,具備一定的Android開發經驗,想從事底層開發的編程愛好者使用;也適合作為相關培訓學校的Android底層開發培訓教材。

圖書目錄

第 1章 學習前的準備工作 1
1.1 安裝和配置JDK 1
1.2 安裝和配置Android開發環境 1
1.3 官方Android原始碼 2
1.3.1 下載Android原始碼 2
1.3.2 編譯Android原始碼 3
1.4 官方Linux核心原始碼 5
1.4.1 Linux核心支持的Android設備 5
1.4.2 下載Linux核心原始碼 5
1.4.3 查看Linux核心的分支 7
1.4.4 看看Google那幫傢伙在做什麼 8
1.4.5 獲取Linux核心的配置檔案 10
1.4.6 安裝交叉編譯器 11
1.4.7 編譯Linux核心原始碼 12
1.5Cyanogenmod(CM)原始碼 12
1.5.1 什麼是CM 12
1.5.2 CM支持哪些Android設備 13
1.5.3與Android設備對應的Codename和CM版本 14
1.5.4 下載CM Android原始碼 15
1.5.5 下載經過CM適配的Linux核心原始碼 17
1.5.6 編譯Android原始碼生成Recovery ROM 17
1.5.7 單獨編譯CM Linux核心原始碼 21
1.5.8 刷機!刷機! 22
1.5.9 下載現成的CM ROM 23
1.6小結 24
第 2章 提取ROOT許可權 26
2.1 什麼是ROM 26
2.2 ROM的種類 27
2.3刷官方的ROM 27
2.3.1 下載官方的ROM 28
2.3.2 用無人值守方式刷ROM 28
2.3.3 分別刷ROM包含的各種鏡像檔案 29
2.4 Android手機獲取ROOT許可權的必要性 31
2.5 提取ROOT許可權的原理 32
2.6 用極客的方式提取ROOT許可權 33
2.6.1 提取ROOT許可權的步驟 33
2.6.2 需要一個很酷的recovery 34
2.6.3 su命令原始碼分析 36
2.6.4 製作第 一個Recovery刷機包(編寫updater-script腳本檔案) 39
2.6.5 首 次通過DIY方式提取ROOT許可權 43
2.6.6 上傳Android套用到/system/app 43
2.7 小結 44
第3章 Root許可權的安全螢幕障 45
3.1 通過su提取Root許可權的安全隱患 45
3.2 Android套用申請Root許可權 46
3.3 Superuser.apk為什麼不見了 48
3.4 申請Root許可權為什麼失靈了 50
3.5CM ROM如何為Root許可權增加安全螢幕障 52
3.6 ADB Shell動作管理命令(am) 55
3.6.1 顯示視窗(Activity) 55
3.6.2傳送廣播(Broadcast) 56
3.6.3 開始服務(Service) 57
3.7su實現原理及原始碼分析 57
3.7.1 su進行Root授權的處理流程 57
3.7.2 初始化調用者數據 64
3.7.3 初始化路徑 66
3.7.4 動態宏定義 67
3.7.5 檢測資料庫 69
3.7.6 創建LocalSocket服務 70
3.7.7 顯示“Root授權”視窗 72
3.7.8 等待Superuser連線LocalSocket服務 73
3.7.9 向Superuser傳輸調用者信息 74
3.7.10 接收用戶選擇的“Root授權”策略 75
3.7.11 允許和拒絕“Root授權” 75
3.8 Superuser的實現原理與原始碼分析 77
3.8.1 “Root授權”警告視窗的處理流程 77
3.8.2 設定“Root授權”視窗的控制項 80
3.8.3 獲取“Root授權”持續時間 83
3.8.4 處理“Root授權”策略 85
3.8.5 讀取Su協定數據 86
3.8.6獲取和設定“調用者”信息 88
3.9 小結 90
第4章 ROM定製 91
4.1 刷機的那些事 91
4.1.1 Android刷機的本質 91
4.1.2 製作ROM的不同層次 93
4.1.3 為什麼要刷機 94
4.1.4 刷機帶來的風險及其預防措施 95
4.2在官方ROM的基礎上定製各種鏡像 96
4.2.1 修改系統鏡像(system.img) 96
4.2.2 定製開機動畫 99
4.2.3 用戶數據鏡像(userdata.img) 103
4.2.4 記憶體磁碟鏡像(ramdisk.img) 106
4.2.5Linux核心鏡像(boot.img) 108
4.2.6 製作已經有ROOT許可權的ROM 109
4.2.7 Recovery鏡像(recovery.img) 110
4.2.8 快取鏡像(cache.img) 111
4.2.9 製作完 美的Bootloader ROM 112
4.3 直接從CM原始碼製作ROM 114
4.3.1 製作Bootloader ROM 115
4.3.2製作Recovery ROM 116
4.4 Edify語言 120
4.4.1 Edify語言概述 120
4.4.2 測試Edity腳本(updater-script) 120
4.4.3 Edity函式詳解 122
4.4.4 Edity語言的實現原理 131
4.5集成Google Services Framework和Google Play 134
4.6在CM ROM中集成第三方APK程式 135
4.6.1為什麼不能直接複製APK和ODEX檔案 135
4.6.2 校驗odex檔案需要依賴哪些Library 136
4.6.3 合併APK和ODEX檔案 136
4.7 小結 139
第5章 Recovery深度分析與定製 140
5.1 什麼是Recovery 140
5.2 Clockworkmod Recovery原始碼解析 142
5.2.1如何分析Recovery原始碼 142
5.2.2 顯示主選單 144
5.2.3 切換不同的選單項 146
5.2.4 選擇選單項 148
5.3Recovery支持的各種操作 150
5.3.1 重啟和關閉Android設備 150
5.3.2 從SD卡刷ROM 151
5.3.3 使用sideload模式刷ROM 157
5.3.4 清除指定檔案系統中的數據 158
5.3.5 備份與恢復 161
5.3.6 掛載(mount)、卸載(umount)和格式化(format)檔案系統 167
5.4添加自己的Recovery選單項 170
5.5 漢化Recovery 172
5.5.1 漢化Recovery的原理和步驟 172
5.5.2 初始化字型 173
5.5.3 繪製中文字元 175
5.6小結 176
第6章Android系統套用的開發與測試 177
6.1 什麼是Android系統套用 177
6.2為什麼要研究Android系統套用 178
6.3如何編寫Android系統套用 178
6.4 分析第 一個Android系統套用:計算器 180
6.4.1 計算器套用(Calculator)的基本結構 181
6.4.2 編譯、測試和調試Calculator 183
6.4.3 允許其他Android套用通過Calculator計算表達式 184
6.5 小結 186
第7章 安裝與卸載應用程式(PackageInstaller) 187
7.1 分析原始碼的第 一步應該做什麼 187
7.2 尋找PackageInstaller的突破口 190
7.3安裝和卸載Android套用的全部方式 192
7.4 安裝Android套用前的校驗 193
7.4.1 安裝Android套用的初始化工作 193
7.4.2 顯示校驗視窗 197
7.4.3 獲取Android套用的許可權列表 201
7.5開始安裝應用程式 204
7.5.1 PackageInstaller的安裝原理 204
7.5.2 靜默安裝Android套用 211
7.6 卸載Android套用 214
7.6.1 PackageInstaller卸載Android套用前的確認 214
7.6.2 卸載Android套用的原理 217
7.6.3 靜默卸載Android套用 220
7.7小結 222
第8章 系統設定(一) 224
8.1 為系統設定添加新功能 224
8.1.1 系統設定的編譯與許可權 224
8.1.2修改開機動畫 226
8.1.3 尋找Settings的入口點 231
8.1.4 為Settings添加新的功能項 233
8.1.5 遷移修改開機動畫的視窗類 235
8.2Wi-Fi 236
8.2.1 如何為設定項添加Switch控制項 237
8.2.2 為“修改開機動畫”設定項添加Switch控制項 242
8.2.3“關閉/打開”Wi-Fi 245
8.2.4 系統信息與SQLite的WAL模式 248
8.2.5禁止飛行模式下單獨開啟Wi-Fi

相關詞條

熱門詞條

聯絡我們