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

來源:互聯網
上載者:User

移植Android到不同的裝置

Android允許提供不同的硬體平台和驅動支援Android的運行。硬體抽象層(Hardware Abstraction Layer)提供了再Android平台軟體棧和硬體裝置之間的標準介面。另外,Android作業系統是開源的,可以協助你快速的開發軟體,讓軟硬體協同工作。

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

Android底層系統架構

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


圖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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.