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

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

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

定 價:¥89.00

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

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

內(nèi)容簡介

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

作者簡介

  李寧,東北大學碩士,IT作家、技術(shù)顧問、Geek。曾出版《Android深度探索(卷1):HAL與驅(qū)動開發(fā)》、《Android開發(fā)權(quán)威指南》、《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內(nèi)核源代碼 5
1.4.1 Linux內(nèi)核支持的Android設(shè)備 5
1.4.2 下載Linux內(nèi)核源代碼 5
1.4.3 查看Linux內(nèi)核的分支 7
1.4.4 看看Google那幫家伙在做什么 8
1.4.5 獲取Linux內(nèi)核的配置文件 10
1.4.6 安裝交叉編譯器 11
1.4.7 編譯Linux內(nèi)核源代碼 12
1.5Cyanogenmod(CM)源代碼 12
1.5.1 什么是CM 12
1.5.2 CM支持哪些Android設(shè)備 13
1.5.3與Android設(shè)備對應(yīng)的Codename和CM版本 14
1.5.4 下載CM Android源代碼 15
1.5.5 下載經(jīng)過CM適配的Linux內(nèi)核源代碼 17
1.5.6 編譯Android源代碼生成Recovery ROM 17
1.5.7 單獨編譯CM Linux內(nèi)核源代碼 21
1.5.8 刷機!刷機! 22
1.5.9 下載現(xiàn)成的CM ROM 23
1.6小結(jié) 24
第2章 提取ROOT權(quán)限 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權(quán)限的必要性 31
2.5 提取ROOT權(quán)限的原理 32
2.6 用極客的方式提取ROOT權(quán)限 33
2.6.1 提取ROOT權(quán)限的步驟 33
2.6.2 需要一個很酷的recovery 34
2.6.3 su命令源代碼分析 36
2.6.4 制作第一個Recovery刷機包(編寫updater-script腳本文件) 39
2.6.5 首次通過DIY方式提取ROOT權(quán)限 43
2.6.6 上傳Android應(yīng)用到/system/app目錄 43
2.7 小結(jié) 44
第3章 Root權(quán)限的安全屏障 45
3.1 通過su提取Root權(quán)限的安全隱患 45
3.2 Android應(yīng)用申請Root權(quán)限 46
3.3 Superuser.a(chǎn)pk為什么不見了 48
3.4 申請Root權(quán)限為什么失靈了 50
3.5CM ROM如何為Root權(quán)限增加安全屏障 52
3.6 ADB Shell動作管理命令(am) 55
3.6.1 顯示窗口(Activity) 55
3.6.2發(fā)送廣播(Broadcast) 56
3.6.3 開始服務(wù)(Service) 57
3.7su實現(xiàn)原理及源代碼分析 57
3.7.1 su進行Root授權(quán)的處理流程 57
3.7.2 初始化調(diào)用者數(shù)據(jù) 64
3.7.3 初始化路徑 66
3.7.4 動態(tài)宏定義 67
3.7.5 檢測數(shù)據(jù)庫 69
3.7.6 創(chuàng)建LocalSocket服務(wù) 70
3.7.7 顯示“Root授權(quán)”窗口 72
3.7.8 等待Superuser連接LocalSocket服務(wù) 73
3.7.9 向Superuser傳輸調(diào)用者信息 74
3.7.10 接收用戶選擇的“Root授權(quán)”策略 75
3.7.11 允許和拒絕“Root授權(quán)” 75
3.8 Superuser的實現(xiàn)原理與源代碼分析 77
3.8.1 “Root授權(quán)”警告窗口的處理流程 77
3.8.2 設(shè)置“Root授權(quán)”窗口的控件 80
3.8.3 獲取“Root授權(quán)”持續(xù)時間 83
3.8.4 處理“Root授權(quán)”策略 85
3.8.5 讀取Su協(xié)議數(shù)據(jù) 86
3.8.6獲取和設(shè)置“調(diào)用者”信息 88
3.9 小結(jié) 90
第4章 ROM定制 91
4.1 刷機的那些事 91
4.1.1 Android刷機的本質(zhì) 91
4.1.2 制作ROM的不同層次 93
4.1.3 為什么要刷機 94
4.1.4 刷機帶來的風險及其預防措施 95
4.2在官方ROM的基礎(chǔ)上定制各種鏡像 96
4.2.1 修改系統(tǒng)鏡像(system.img) 96
4.2.2 定制開機動畫 99
4.2.3 用戶數(shù)據(jù)鏡像(userdata.img) 103
4.2.4 內(nèi)存磁盤鏡像(ramdisk.img) 106
4.2.5Linux內(nèi)核鏡像(boot.img) 108
4.2.6 制作已經(jīng)有ROOT權(quán)限的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函數(shù)詳解 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 小結(jié) 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 重啟和關(guān)閉Android設(shè)備 150
5.3.2 從SD卡刷ROM 151
5.3.3 使用sideload模式刷ROM 157
5.3.4 清除指定文件系統(tǒng)中的數(shù)據(jù) 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小結(jié) 176
第6章Android系統(tǒng)應(yīng)用的開發(fā)與測試 177
6.1 什么是Android系統(tǒng)應(yīng)用 177
6.2為什么要研究Android系統(tǒng)應(yīng)用 178
6.3如何編寫Android系統(tǒng)應(yīng)用 178
6.4 分析第一個Android系統(tǒng)應(yīng)用:計算器 180
6.4.1 計算器應(yīng)用(Calculator)的基本結(jié)構(gòu) 181
6.4.2 編譯、測試和調(diào)試Calculator 183
6.4.3 允許其他Android應(yīng)用通過Calculator計算表達式 184
6.5 小結(jié) 186
第7章 安裝與卸載應(yīng)用程序(PackageInstaller) 187
7.1 分析源代碼的第一步應(yīng)該做什么 187
7.2 尋找PackageInstaller的突破口 190
7.3安裝和卸載Android應(yīng)用的全部方式 192
7.4 安裝Android應(yīng)用前的校驗 193
7.4.1 安裝Android應(yīng)用的初始化工作 193
7.4.2 顯示校驗窗口 197
7.4.3 獲取Android應(yīng)用的權(quán)限列表 201
7.5開始安裝應(yīng)用程序 204
7.5.1 PackageInstaller的安裝原理 204
7.5.2 靜默安裝Android應(yīng)用 211
7.6 卸載Android應(yīng)用 214
7.6.1 PackageInstaller卸載Android應(yīng)用前的確認 214
7.6.2 卸載Android應(yīng)用的原理 217
7.6.3 靜默卸載Android應(yīng)用 220
7.7小結(jié) 222
第8章 系統(tǒng)設(shè)置(一) 224
8.1 為系統(tǒng)設(shè)置添加新功能 224
8.1.1 系統(tǒng)設(shè)置的編譯與權(quán)限 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 如何為設(shè)置項添加Switch控件 237
8.2.2 為“修改開機動畫”設(shè)置項添加Switch控件 242
8.2.3“關(guān)閉/打開”Wi-Fi 245
8.2.4 系統(tǒng)信息與SQLite的WAL模式 248
8.2.5禁止飛行模式下單獨開啟Wi-Fi

本目錄推薦

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