TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
Android底層開發技術實戰詳解:內核、移植和驅動(簡體書)
滿額折

Android底層開發技術實戰詳解:內核、移植和驅動(簡體書)

商品資訊

人民幣定價:69 元
定價
:NT$ 414 元
優惠價
87360
絕版無法訂購
相關商品
商品簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

《Android移動開發技術叢書Android底層開發技術實戰詳解:內核移植和驅動》從底層原理開始講起,結合真實的案例向讀者詳細介紹了Android內核、移植和驅動開發的整個流程。全書分為19章,依次講解驅動移植的必要性,何為HAL層深入分析,Goldfish、MSM、MAP內核和驅動解析,顯示系統、輸入系統、振動器系統、音頻系統、視頻輸出系統的驅動,OpenMax多媒體、多媒體插件框架,傳感器、照相機、Wi-Fi、藍牙、GPS和電話系統等。在每一章中,重點介紹了與Android驅動開發相關的底層知識,並對Android源代碼進行了剖析。.

名人/編輯推薦

《Android底層開發技術實戰詳解:內核、移植和驅動》適合Android研發人員及Android愛好者學習,也可以作為相關培訓學校和大專院校相關專業的教學用書。

目次

第1章Android底層開發基礎
1.1什么是驅動
1.1.1驅動程序的魅力
1.1.2電腦中的驅動
1.1.3手機中的驅動程序
1.2開源還是不開源的問題
1.2.1霧里看花的開源
1.2.2從為什么選擇Java談為什么不開源驅動程序
1.2.3對驅動開發者來說是一把雙刃劍
1.3Android和Linux
1.3.1Linux簡介
1.3.2Android和Linux的關系
1.4簡析Linux內核
1.4.1內核的體系結構
1.4.2和Android密切相關的Linux內核知識
1.5分析Linux內核源代碼很有必要
1.5.1源代碼目錄結構
1.5.2瀏覽源代碼的工具
1.5.3為什么用匯編語言編寫內核代碼
1.5.4Linux內核的顯著特性
1.5.5學習Linux內核的方法
第2章分析Android源代碼
2.1搭建Linux開發環境和工具
2.1.1搭建Linux開發環境
2.1.2設置環境變量
2.1.3安裝編譯工具
2.2獲取Android源代碼
2.3分析并編譯Android源代碼
2.3.1Android源代碼的結構
2.3.2編譯Android源代碼
2.3.3運行Android源代碼
2.3.4實踐演練——演示編譯Android程序的兩種方法
2.4編譯Android Kernel
2.4.1獲取Goldfish內核代碼
2.4.2獲取MSM內核代碼
2.4.3獲取0MAP內核代碼
2.4.4編譯Android的Linux內核
2.5運行模擬器
2.5.1Linux環境下運行榭以器的方法
2.5.2模擬器輔助工具——adb
第3章驅動需要移植
3.1驅動開發需要做的工作
3.2Android移植
3.2.1移植的任務
3.2.2移植的內容
3.2.3驅動開發的任務
3.3Android對Linux的改造
3.3.1Android對Linux內核文件的改動
3.3.2為Android構建Linux的操作系統
3.4內核空間和用戶空間接口是一個媒介
3.4.1內核空間和用戶空間的相互作用
3.4.2系統和硬件之間的交互
3.4.3使用Relay實現內核到用戶空間的數據傳輸
3.5三類驅動程序
3.5.1字符設備驅動程序
3.5.2塊設備驅動程序
3.5.3網絡設備驅動程序
第4章HAL層深入分析
4.1認識HAL層
4.1.1HAL層的發展
4.1.2過去和現在的區別
4.2分析HAL層源代碼
4.2.1 分析HAL moudle
4.2.2分析mokoid工程
4.3總結HAL層的使用方法
4.4傳感器在HAL層的表現
4.4.1HAL層的Sensor代碼
4.4.2總結Sensor編程的流程
4.4.3分杯sensor源代碼看Android API與硬件平臺的銜接
4.5移植總結
4.5.1移植各個Android部件的方式
4.5.2移植技巧之一——不得不說的輔助工作
第5章Goldfish下的驅動解析
5.1staging驅動
5.1.1staging驅動概述
5.1.2Binder驅動程序
5.1.3Logger驅動程序
5.1.4Lowmemorykiller組件
5.1.5Timed Output驅動程序
5.1.6Timed Gpi0驅動程序
5.1.7Ram Console驅動程序
5.2wakelock和early_suspend
5.2.1wakelock和early_suspend的原理
5.2.2Android休眠
5.2.3Android喚醒
5.3Ashmem驅動程序
5.4Pmem驅動程序
5.5Alarm驅動程序
5.5.1Alarm簡析
5.5.2Alarm驅動程序的實現
5.6USB Gadget驅動程序
5.7Android Paranoid驅動程序
5.8Goldfish設備驅動
5.8.1FrameBuffer驅動
5.8.2鍵盤驅動
5.8.3實時時鐘驅動程序
5.8.4TTY終端驅動程序
5.8.5NandFlash驅動程序
5.8.6MMC驅動程序
5.8.7電池驅動程序
第6章MSM內核和驅動解析
6.1MSM基礎
6.1.1常見MSM處理器產品
6.1.2Snapdragon內核介紹
6.2移植MsM內核簡介
6.3移植MSM
6.3.1Makefile文件
6.3.2驅動和組件
6.3.3設備驅動
6.3.4高通特有的組件
第7章OMAP內核和驅動解析
7.1OMAP基礎
7.1.1OMAP簡析
7.1.2常見OMAP處理器產品
7.1.3開發平臺
7.2OMAP內核
7.3移植OMAP體系結構
7.3.1移植OMAP平臺
7.3.2移植OMAP處理器
7.4移植Android專用驅動和組件
7.5OMAP的設備驅動
第8章顯示系統驅動應用
8.1顯示系統介紹
8.1.1Android的版本
8.1.2不同版本的顯示系統
8.2移植和調試前的準備
8.2.1FrameBuffer驅動程序
8.2.2硬件抽象層
8.3實現顯示系統的驅動程序
……
第9章輸入系統驅動應用
第10章振動器系統驅動
第11章音頻系統驅動
第12章視頻輸出系統驅動
第13章OpenMax多媒體框架
第14章多媒體插件框架
第15章傳感器系統
第16章照相機系統
第17章Wi—Fi系統、藍牙系統和GPS系統
第18章電話系統
第19章其他系統

書摘/試閱



Wi—Fi系統Java層的核心是根據IWifiManger接口所創建的Binder服務器端和客戶端,服務器端是WifiService,客戶端是WifiManger。
編譯IWiflManger.aidl生成文件IWiflManger.java,并生成IWifiManger.Stub(服務器端抽象類)和IWifiManger.Stub.Proxy(客戶端代理實現類)。WifiService通過繼承IWifiManger.Stub實現,而客戶端通過9etService()函數獲取IWifiManger.Stub.Proxy(即Service的代理類),將其作為參數傳遞給WifiManger,供其與WifiService通信時使用。
Wi—Fi系統Java部分的核心是根據IWifiManager接口所創建的Binder服務器端和客戶端,服務器端是WifiService,客戶端是WifiManager。具體結構如圖17—4所示。
圖17—4中主要構成元素的具體說明如下所示。
(1)WiFiManger是Wi—Fi部分與外界的接口,用戶通過它來訪問Wi—Fi的核心功能。WifiWatchdogService這一系統組件也是用WifiManger來執行一些具體操作。
(2)WifiService是服務器端的實現,作為Wi—Fi的核心,處理實際的驅動加載、掃描、鏈接/斷開等命令,以及底層上報的事件。,對于主動的命令控制,Wi—Fi是一個簡單的封裝,針對來自客戶端的控制命令,調用相應的WifiNative底層實現。
當接收到客戶端的命令后,一般會將其轉換成對應的自身消息塞入消息隊列中,以便客戶端的調用可以及時返回,然后在WifiHandler的handleMessage()中處理對應的消息。而底層上報的事件,WifiService則通過啟動WifiStateTracker來負責處理。WifiStateTracker和wifiMonitor的具體功能如下所示。
WifiStateTracker除了負責WiFi的電源管理模式等功能外,其核心是WifiMonitor所實現的事件輪詢機制,以及消息處理函數handleMessage()。
WifLMonitor通過開啟一個MonitorThread來實現事件的輪詢,輪詢的關鍵函數是前面提到的阻塞式函數WifiNative.waitForEvent()。獲取事件后,WifiMonitor通過一系列的Handler通知給WifiStateTracker。這里WifiMonitor的通知機制是將底層事件轉換成WifiStateTracker所能識別的消息,塞入WifiStateTracker的消息循環中,最終在handleMessage()中由WifiStateTracker完成對應的處理。

您曾經瀏覽過的商品

購物須知

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

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

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

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

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

優惠價:87 360
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區