Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android系統移植 http://source.android.com/devices/index.html

Android系統移植 http://source.android.com/devices/index.html

編輯:關於Android編程

移植Android到不同的設備

Android允許提供不同的硬件平台和驅動支持Android的運行。硬件抽象層(Hardware Abstraction Layer)提供了再Android平台軟件棧和硬件設備之間的標准接口。另外,Android操作系統是開源的,可以幫助你快速的開發軟件,讓軟硬件協同工作。

為了保證Android設備的高質量和對用戶的統一用戶體驗,必須通過兼容測試包(Compatibility test suite). CTS能搞保證任何人開發的設備符合統一的標准,並且應用可以可靠的運行,並且有著良好的體驗。

Android底層系統架構

在你將Android移植到你的硬件設備之前,對android在更高的層次上如何工作有一個了解非常重要。因為驅動和HAL和Android系統的其他部分的源碼有很多交互,因此理解這部分對你學習整個AOSP(Android Open Source Project)源碼的其他部分十分重要。下面這張圖說明了再系統層次Android是如何工作的。

\

<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHAgYWxpZ249"center">圖1.Android系統架構

應用框架(Application Framework)

這一層是大部分應用軟件開發者需要關心的。這裡需要明白對於開發者可用的應用編程接口(API),許多接口和下層的HAL接口提供的功能相同,所以這部分可以幫助了解如何實現驅動。

Binder進程間通信

Binder進程間通信機制允許應用程序框架跨進程調用Android系統服務提供的功能。這基本上允許高層的框架API可以和Android系統服務進行交互。從應用框架的層次看,所有的通信對開發者是隱藏的,事情看起來“工作的非常好”。

系統服務

應用框架層API提供的大部分功能需要和系統服務進行通信來訪問底層的硬件。服務被人為的分為不同的功能模塊,這些模塊完成不同的功能,比如窗口管理器,搜索服務和通知管理器(Notification Manager).系統服務被分在兩個組裡:系統(system)和多媒體(media).system(系統)服務包括窗口和通知管理器等。多媒體服務包括所有播放和錄制多媒體相關的服務。

硬件抽象層(Hardware Abstraction Layer)

HAL為Android系統調用底層驅動提供了一個標准的接口,同時屏蔽了底層驅動和硬件的具體實現。你必須為產品上的硬件實現相應的硬件抽象接口或驅動。Android並不強制要求驅動和HAL實現的標准接口,你可以根據你產品的實際狀況作出調整。然而,你必須保證所有的HAL接口實現可以正確的和底層硬件交互。所有的HAL實現都被編譯成為一個動態鏈接庫。

Linux內核

開發Android設備驅動和開發標准的Linux設備驅動相同。Android使用了一個特殊版本的Linux,添加了一些設備驅動比如wakelock,一個內存管理系統,Binder進程間通信驅動等對嵌入式平台非常重要的功能。這些新添加的功能主要和系統功能相關。你可以使用任何版本的內核,只要支持特定的功能,例如binder驅動。然而,我們推薦使用最新版的AndroidKernel。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved