TOP
0
0
即日起~6/30,暑期閱讀書展,好書7折起
Android底層接口與驅動開發技術詳解(簡體書)
滿額折

Android底層接口與驅動開發技術詳解(簡體書)

商品資訊

人民幣定價:79 元
定價
:NT$ 474 元
優惠價
87412
領券後再享86折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:12 點
相關商品
商品簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

《Android底層介面與驅動開發技術詳解》循序漸進地講解了Android底層開發技術的基本知識,由淺入深地講解了驅動開發和移植技術的精髓。本書內容實用,講解翔實,全書分為3篇共21章,第1~3章是基礎篇,介紹了Andr,0id開發的基礎性知識,分別講解了搭建開發環境、驅動介紹和Linux內核的基本知識;第4~9章是必備技術篇,詳細講解了Android底層開發的必備技術,分別講解了分析Android源碼、驅動移植、HAL層分析、Goldfish內核驅動分析、MSM內核驅動分析和OMAP內核驅動分析的基本知識;第10~21章是核心技術與應用篇,詳細講解了Android系統中常用驅動的移植知識,分別講解了顯示系統、輸入系統、振動器系統、音訊系統、視頻輸出系統、OpenMax多媒體框架、多媒體外掛程式框架、感測器系統、照相機系統、Wi-Fi系統、藍牙系統、電話系統、GPS系統、Alarm警報器系統、光系統和Battery電池的移植知識。《Android底層介面與驅動開發技術詳解》定位於Android的中、高級用戶,也可以作為向此領域發展的程式師的參考書。

名人/編輯推薦

《Android底層介面與驅動開發技術詳解》精準定位於當前市場需求,循序漸進地講解Android系統底層介面和驅動開發以及移植技術的精髓。整個講解過程由淺入深,講解細致入微,力求用最通俗的語言使讀者盡快掌握各個知識點。另外,底層開發的門檻較高,需要程式員具備較深的C語言和C++語言開發功底。並且具有統籌架構的底子,同時也需要具備熱衷於探索的品質。

目次

第一篇 基礎篇
第1章 Andmid概述
1.1 智慧手機世界
1.1.1 何謂智慧手機
1.1.2 當前主流的智能手機系統
1.2 Android的巨大優勢
1.2.1 系出名門
1.2.2 強大的開發團隊
1.2.3 誘人的獎勵機制
1.3 搭建Android開發環境
1.3.1 安裝Android SDK的系統要求
1.3.2 安裝JDK、Eclipse、Android SDK
1.3.3 設定Android SDK Home
1.3.4 驗證開發環境
1.3.5 創建Android虛擬設備
1.3.6 常見的幾個問題
1.4 Android模擬器
1.4.1 Android模擬器簡介
1.4.2 模擬器和真機究竟有何區別
1.4.3 模擬器簡單總結
第2章 在驅動開發之前所要做的工作
2.1 什麼是驅動
2.1.1 驅動程式的魅力
2.1.2 計算機中的驅動
2.1.3 手機中的驅動程式
2.2 簡析Android安裝檔
2.2.1 Android SDK目錄結構
2.2.2 android.jar及內部結構
2.2.3 SDK文檔及閱讀技巧
2.2.4 SDK工具集
2.3 解析Android SDK實例
2.4 Android系統架構
2.4.1 Android體系結構介紹
2.4.2 Android應用工程檔組成
2.4.3 應用程式的生命週期
2.5 開源還是不開源
2.5.1 霧裏看花的開源
2.5.2 從為什麼選擇Java談為什麼不開源驅動程式
2.5.3 對驅動開發者來說是一把雙刃劍
第3章 Linux內核簡析
3.1 Linux基礎
3.1.1 Linux歷史簡介
3.1.2 主要版本
3.1.3 計算機業界的工業革命
3.1.42007年帶來的震撼傑作
3.2 Android和Linux的關系
3.2.1 繼承與Linux
3.2.2 Android和Linux內核的區別
3.3 簡析Linux內核
3.3.1 內核的體系結構
3.3.2 和Android密切相關的Linux內核知識
3.4 分析Linux內核源碼很有必要
3.4.1 源碼目錄結構
3.4.2 瀏覽源碼的工具
3.4.3 為什麼用匯編語言編寫內核代碼
3.4.4 Linux內核的顯著特性
3.4.5 學習Linux內核的方法
第2篇 必備技術篇
第4章 分析Android源碼
4.1 搭建Linux開發環境和工具
4.1.1 搭建Linux開發環境
4.1.2 設置環境變量
4.1.3 安裝編譯工具
4.2 獲取Android源碼
4.3 分析並編譯Android源碼
4.3.1 Android源碼的結構
4.3.2 編譯Android源碼
4.3.3 運行Android源碼
4.3.4 實踐演練——演示兩種編譯.Android程式的方法
4.4 編譯Andmid Kemel
4.4.1 獲取Goldfish內核代碼
4.4.2 獲取MSM內核代碼
4.4.3 獲取OMAP內核代碼
4.4.4 編譯Andmid的Linux內核
4.5 運行模擬器
4.5.1 Linux環境下運行模擬器的方法
4.5.2 模擬器輔助工具——ADB
第5章 驅動需要移植
5.1 驅動開發需要做的工作
5.2 Android移植
5.2.1 移植的任務
5.2.2 移植的內容
5.2.3 驅動開發需要做的工作
5.3 Android對Linux的改造
5.3.1 Android的核心驅動
5.3.2 Android對Linux內核文件的改動
5.3.3 為Android構建Linux的操作系統
5.4 內核空間和用戶空間介面是一個媒介
5.4.1 內核空間和用戶空間的相互作用
5.4.2 系統和硬體之間的交互
5.4.3 使用RelaV實現內核到用戶空間的數據傳輸
5.5 三類驅動程式
5.5.1 字元設備驅動
5.5.2 塊設備驅動
5.5.3 網絡設備驅動
第6章 HAL層深入分析
6.1 認識HAL層
6.1.1 HAL層的發展
6.1.2 過去和現在的區別
6.2 分析HAL層源碼
6.2.1 分析HAL moudle
6.2.2 分析mokoid工程
6.3 總結HAL層的使用方法
6.4 Sensor(傳感器)在HAL層的表現
6.4.1 HAL層的Sensor代碼
6.4.2 總結Sensor編程的流程
6.4.3 分析sensor源碼看AndroidAPI與硬體平臺的銜接
6.5 移植總結
6.5.1 移植各個Android部件的方式
6.5.2 移植技巧之——不得不說的輔助工作
第7章 Goldfish下的驅動解析
7.1 staging驅動
7.1.1 staging驅動概述
7.1.2 Binder驅動程式
7.1.3 Logger驅動
7.1.4 Lowmemorykiller組件
7.1.5 Timed Output驅動程式
7.1.6 Timed Gpio驅動程式
7.1.7 Ram console驅動程式
7.2 wakelock和early_SUSpend
7.2.1 wakelock和early_SUSpend的原理
7.2.2 Android休眠
7.2.3 Android喚醒
7.3 Asllmem驅動程式
7.4 Pmem驅動程式
7.5 Alarm驅動程式
7.5.1 Alarm簡析
7.5.2 Alarm驅動的實現
7.6 USB Gadget驅動程式
7.7 Android Paranoid驅動程式
7.8 Goldfish設備驅動
7.8.1 Framebuffer 驅動
7.8.2 鍵盤驅動
7.8.3 實時時鐘驅動
7.8.4 TTY終端驅動
7.8.5 NandFlash驅動
7.8.6 MMC驅動
7.8.7 電池驅動
第8章 MSM內核和驅動解析
8.1 MSM基礎
8.1.1 高通公司介紹
8.1.2 常見MSM處理器產品
8.1.3 Snap(1ragon內核介紹
8.2 移植MSM內核簡介
8.3 移植MSM
8.3.1 Mal(efile文件
8.3.2 驅動和組件
8.3.3 設備驅動
8.3.4 高通特有的組件
第9章 OMAP內核和驅動解析
9.1 OMAP基礎
9.1.1 OMAP簡析
9.1.2 常見OMAP處理器產品
9.1.3 開發平臺
9.2 OMAP內核
9.3 移植OMAP體系結構
9.3.1 移植OMAP平臺
9.3.2 移植OMAP處理器
9.4 移植Andmid專用驅動和組件
9.5 OMAP的設備驅動
……
第3篇 核心技術與應用篇

書摘/試閱



1.系統調用介面
為了與用戶應用程式進行交互,內核提供了一組系統調用介面,通過這組介面,應用程式可以訪問系統硬體和各種操作系統資源。
系統調用介面層在用戶應用程式和內核之間添加了一個中間層,形象地說,它扮演了一個函數調用多路復用和多路分解器的角色。
2.
進程管理部分實現了一個進程世界的抽象,這個進程世界類似於人類世界,只不過人類世界中的個體是人,而在進程世界中則是一個一個的進程,人與人之間通過書信、手機、網絡等進行交互,而各個進程之間則通過不同方式的進程間通信,我們所有人都在分享同一個地球,而所有進程都在分享一個或多個CPU。
3.內存管理
在進程世界中,內存是重要的資源之一,就好比我們的土地。因此,管理內存的策略與方式是決定系統性能的一個關鍵因素。
內核的內存管理部分根據不同的需要,提供了包括malloc/free在內的許多簡單或復雜的介面,並為每個進程都提供了一個虛擬的地址空間,基本上實現虛擬內存對進程的按需分配。
4.虛擬檔系統
虛擬檔系統為用戶空間提供了檔系統介面,同時又為各個具體的檔系統提供了通用的介面抽象。在VFS上面,是對諸如open、close、read和write之類函數的一個通用API抽象,在VFS下面則是具體的文件系統,它們定義了上層函數的實現方式。
通過虛擬檔系統,可以利用標準的Linux檔系統調用對不同介質上的不同檔系統進行操作。VFS是內核在各種具體的文件系統上建立的一個抽象層,它提供了一個通用的檔系統模型,而該模型囊括了我們所能想到的所有檔系統的行為。
5.網絡功能
網絡子系統處理數據包的收集、標識、分發,路由和位址的解析等所有網絡有關的操作。socket層是網絡子系統的標準API,它為各種網絡協議提供了一個用戶介面。
6.設備驅動程式
操作系統的目的是為用戶提供一種方便訪問硬體的途徑,因此,幾乎每一個系統操作最終都會映射到物理的硬體設備上。除了CPU、內存等有限的幾個對象,所有設備的訪問控制操作都要由相關的代碼來完成,這些代碼就是所謂的設備驅動程式。
7.代碼
這裏的代碼需要依賴體系結構,因為部分內核代碼是體系相關的,在/linux/arch子目錄中定義了內核源代碼中依賴於體系結構的部分,其中包含對應各種特定體系結構的子目錄。例如,對於一個典型的桌面系統來說,使用的是i386目錄。
每個特定體系結構對應的子目錄又包含很多下級子目錄,分別關注內核中的一個特定方面,如引導、內核、內存管理等。
3.3.2 和Android密切相關的Linux內核知識
Android是在Linux 2.6的內核基礎之上運行的,提供的核心系統服務包括安全、內存管理、進程管理、網絡組和驅動模型等內容。本節將簡要講解上述核心系統服務的基本知識。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區