注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計程序設計綜合Android深度探索·卷2:系統(tǒng)應用源代碼分析與ROM定制

Android深度探索·卷2:系統(tǒng)應用源代碼分析與ROM定制

Android深度探索·卷2:系統(tǒng)應用源代碼分析與ROM定制

定 價:¥89.00

作 者: 李寧 著
出版社: 人民郵電出版社
叢編項:
標 簽: 程序設計 計算機/網絡 移動開發(fā)

購買這本書可以去


ISBN: 9787115367945 出版時間: 2015-01-01 包裝: 平裝
開本: 16開 頁數: 496 字數:  

內容簡介

  全書分為2部分。第一部分主要介紹了Android源代碼和Linux內核源代碼的下載和編譯,Root權限的提取,Android ROM的制作和刷機,Recovery的定制等。第二部分主要分析了主要Android系統(tǒng)應用的實現(xiàn)原理和源代碼。這些系統(tǒng)應用包括Android應用安裝和卸載管理、系統(tǒng)設置、系統(tǒng)設置內容提供者、電話與聯(lián)系人管理、短信與彩信管理、Launcher2和NFC后臺服務程序。通過對這些Android系統(tǒng)應用的源代碼分析,會使讀者定制出更完美的Android ROM。本書主要采用了CM10.1(Android4.2.2)源代碼進行講解和分析,使讀者可以系統(tǒng)和完整地掌握定制Android ROM所需要的最新技術。論讀者是想找一份好工作,還是想滿足自己的Geek情節(jié),本書都是您的首選。本書適合具備一定的開發(fā)經驗(最好有Java或C/C++開發(fā)經驗)、想學習Android和Linux底層開發(fā)的程序員,具備一定的Android開發(fā)經驗,想從事底層開發(fā)的編程愛好者使用;也適合作為相關培訓學校的Android底層開發(fā)培訓教材。

作者簡介

  李寧,東北大學碩士,IT作家、技術顧問、Geek。曾出版《Android深度探索(卷1):HAL與驅動開發(fā)》、《Android開發(fā)權威指南》、《Android高薪之路:Android程序員面試寶典》等暢銷書。Blog:http://blog.csdn.net/nokiaguy

圖書目錄

第1章 學習前的準備工作 1
1.1 安裝和配置JDK 1
1.2 安裝和配置Android開發(fā)環(huán)境 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 下載現(xiàn)成的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發(fā)送廣播(Broadcast) 56
3.6.3 開始服務(Service) 57
3.7su實現(xiàn)原理及源代碼分析 57
3.7.1 su進行Root授權的處理流程 57
3.7.2 初始化調用者數據 64
3.7.3 初始化路徑 66
3.7.4 動態(tài)宏定義 67
3.7.5 檢測數據庫 69
3.7.6 創(chuàng)建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的實現(xiàn)原理與源代碼分析 77
3.8.1 “Root授權”警告窗口的處理流程 77
3.8.2 設置“Root授權”窗口的控件 80
3.8.3 獲取“Root授權”持續(xù)時間 83
3.8.4 處理“Root授權”策略 85
3.8.5 讀取Su協(xié)議數據 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 修改系統(tǒng)鏡像(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語言的實現(xiàn)原理 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 清除指定文件系統(tǒng)中的數據 158
5.3.5 備份與恢復 161
5.3.6 掛載(mount)、卸載(umount)和格式化(format)文件系統(tǒng) 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系統(tǒng)應用的開發(fā)與測試 177
6.1 什么是Android系統(tǒng)應用 177
6.2為什么要研究Android系統(tǒng)應用 178
6.3如何編寫Android系統(tǒng)應用 178
6.4 分析第一個Android系統(tǒng)應用:計算器 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章 系統(tǒng)設置(一) 224
8.1 為系統(tǒng)設置添加新功能 224
8.1.1 系統(tǒng)設置的編譯與權限 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 系統(tǒng)信息與SQLite的WAL模式 248
8.2.5禁止飛行模式下單獨開啟Wi-Fi

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號