《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 淺談Android軟硬件巧妙整合的開發(fā)技巧
淺談Android軟硬件巧妙整合的開發(fā)技巧
摘要: Android是基于Linux內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機操作系統(tǒng)。早期由原名為“Android”的公司開發(fā),谷歌在2005年收購“Android.Inc”后,繼續(xù)進行對Android系統(tǒng)開發(fā)運營,它采用了軟件堆層(softwarestack,又名軟件疊層)的架構(gòu),主要分為三部分。底層Linux內(nèi)核只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),部分程序以Java編寫。
Abstract:
Key words :

 

Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。目前,最新版本為Android 2.4 Gingerbread和Android 3.0 Honeycomb。

Android是基于Linux內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機操作系統(tǒng)。早期由原名為“Android”的公司開發(fā),谷歌在2005年收購“Android.Inc”后,繼續(xù)進行對Android系統(tǒng)開發(fā)運營,它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分。底層Linux內(nèi)核只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),部分程序以Java編寫。2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)Android已經(jīng)超越稱霸十年的塞班系統(tǒng),使之躍居全球最受歡迎的智能手機平臺。現(xiàn)在,Android系統(tǒng)不但應(yīng)用于智能手機,也在平板電腦市場急速擴張。采用Android系統(tǒng)主要廠商包括臺灣的HTC,(第一臺谷歌的手機G1由HTC生產(chǎn)代工)美國摩托羅拉,SE等,另外還有中國大陸廠商如:華為、中興、聯(lián)想等。

Android以Java為編程語言,從接口到功能,都有層出不窮的變化,其中Activity等同于J2ME的MIDlet,一個 Activity 類(class)負責(zé)創(chuàng)建視窗(window),一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。兩者之間通過由ServiceConnection和AIDL連結(jié),達到復(fù)數(shù)程序同時運行的效果。如果運行中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(stopped),甚至被系統(tǒng)清除(kill)。

View等同于J2ME的Displayable,程序人員可以通過 View 類與“XML layout”檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實Widget只是View的一種,所以可以使用xml來設(shè)計layout,HTC的Android Hero手機即含有大量的widget。至于ViewGroup 是各種layout 的基礎(chǔ)抽象類(abstract class),ViewGroup之內(nèi)還可以有ViewGroup。View的構(gòu)造函數(shù)不需要再Activity中調(diào)用,但是Displayable的是必須的,在Activity 中,要通過findViewById()來從XML 中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View 與事件(event)息息相關(guān),兩者之間通過Listener 結(jié)合在一起,每一個View都可以注冊一個event listener,例如:當(dāng)View要處理用戶觸碰(touch)的事件時,就要向Android框架注冊View.OnClickListener。另外還有Image等同于J2ME的BitMap。

隨著科技的快速演進,現(xiàn)代人對移動通信、無線上網(wǎng)與多媒體娛樂的需求更甚以往,所謂的智能手機(Smart Phone)便成了炙手可熱的個人消費電子產(chǎn)品之一,從Apple不斷推出iPhone企圖顛覆消費者對手機的想象、RIM推出主打商務(wù)功能的黑莓機、Google的Android系統(tǒng)讓眾家手機廠商爭食大餅,到微軟屢敗屢戰(zhàn)的從WinMo一路開發(fā)到WP7,智能手機的這塊戰(zhàn)場可說是打的如火如荼。然而在這些眾家競爭者中,Android可說是目前行情看俏的一套操作系統(tǒng),以國際市調(diào)研究機構(gòu)Gartner最新出爐2010年第三季的調(diào)查為例,采用Android操作系統(tǒng)的智能手機在過去一年以來成長幅度最高,光是市占率便是前一年同期的七倍之多,銷售量更是達到14倍的成長,同時也一舉從市占率排名的第六名竄升到第二名。

*Gartner 2010 Q3 Worldwide Smartphone Sales

Android在過去一直扮演后起之秀的角色,切入智能手機的速度似乎慢了蘋果的iOS一步,但與Apple相同的是,它也成功的將其應(yīng)用從手機移植到了平板電腦(Tablet PC)上。Android開放源代碼(Open Source)的特性,能輕易地提高廠商對自家產(chǎn)品的接受度,更不用提背后Google的強力撐腰能帶來多大的經(jīng)濟效益。目前可見包括手機廠商HTC、摩托羅拉(Motorola)、三星(SAMSUNG),以及電腦大廠惠普(HP)與戴爾(Dell)等皆投向Android的懷抱,Android被廣泛應(yīng)用可說是勢在必行。

盡管Android系統(tǒng)的普及看似指日可待,但在實際的產(chǎn)品應(yīng)用上,也有其可能產(chǎn)生的問題風(fēng)險。Android作為一個開放式的操作系統(tǒng),是Google提供廠商的操作系統(tǒng)參考架構(gòu)(reference design),廠商能有充足的發(fā)揮空間,以Android為基礎(chǔ)向上開發(fā)設(shè)計自家產(chǎn)品,但也因為這樣的開放性與自由性,讓廠商在軟硬件結(jié)合的這個環(huán)節(jié)必須下更大的功夫,像是如何挑選合適的硬件包括基頻處理器、通信芯片、觸控感應(yīng)芯片、天線與存儲器模組等,以及如何調(diào)整出最適當(dāng)?shù)能浖O(shè)定等,更重要的是如何將軟硬件整合,開發(fā)出差異化的產(chǎn)品。這中間所有的細節(jié)都會對產(chǎn)品最終樣貌產(chǎn)生莫大的影響,像是其功能的完整度、使用接口的設(shè)計、效能表現(xiàn)(例如觸控滑動畫面、開啟程序所需時間)、品質(zhì)可靠度、甚至是后續(xù)的固件升級動作等等。

一、解構(gòu)Android基本技術(shù)架構(gòu)

首先我們先來看到Android的基本技術(shù)架構(gòu),Android是以Linux為核心,并采用軟件堆迭(software stack)的架構(gòu)延伸發(fā)展的一套軟件平臺與操作系統(tǒng)。根據(jù)下圖可以看出,其基本架構(gòu)分為五層:

*Android Structure by Google

·Linux核心(Linux Kernel):以Linux開發(fā)提供最底層的核心系統(tǒng)服務(wù),包括安全性(Security)、存儲器管理(Memory Management)、進程管理(Process Management)、網(wǎng)路堆迭(Network Stack)與驅(qū)動程序模型(Driver Model)。

·Android執(zhí)行環(huán)境(Android Runtime):透過Core Libraries(核心函式庫)以及暫存器型態(tài)的Dalvik Virtual Machine(Dalvik虛擬機器)來執(zhí)行程序。

·系統(tǒng)函式庫(Library):使用C/C++函式庫的系統(tǒng)組件以供呼叫使用,開發(fā)者可透過上層的應(yīng)用程序框架來運用這些功能,這也是主要Android設(shè)備的效能關(guān)鍵。

·應(yīng)用程序框架(Application Framework):被設(shè)計來簡化組件的再運用,開發(fā)者能完整存取使用與核心應(yīng)用程序(Core Application)相同的API,應(yīng)用程序可以發(fā)布功能并為其它應(yīng)用程序所使用(需受限于其安全性限制),開發(fā)者也可運用同樣的機制來新增與置換組件。

 

·應(yīng)用程序(Application):所有Android應(yīng)用程序皆是以Java程序語言編寫,原始就會包含像是Email、簡訊、日歷、地圖、瀏覽器、聯(lián)絡(luò)人等其它應(yīng)用程序,讓用戶一開始就擁有這些基本功能,開發(fā)者也可在此客制其使用接口。

廠商越想要設(shè)計出與原始設(shè)定不同且增強效能的產(chǎn)品,便越需要對這五層架構(gòu)進行修改。譬如像是多任務(wù)處理能力(multi-tasking),便可能需要修改包括Linux核心與應(yīng)用程序框架的設(shè)計;而應(yīng)用程序的開發(fā)者更可能需要針對應(yīng)用程序與框架進行調(diào)整。由此可見,對Android設(shè)備而言,任何一個功能的置入或是對硬件設(shè)定的細微更動,都需要對Android系統(tǒng)進行從下到上的調(diào)整以達到最優(yōu)化的效能,而這正是最為困難與需要驗證的一環(huán)。

二、Android設(shè)備軟硬件整合的五大技術(shù)環(huán)節(jié)

如前所述,對眾家開發(fā)廠商而言最大的挑戰(zhàn)其實在于,如何將自己理想的產(chǎn)品訴求,與Android系統(tǒng)巧妙結(jié)合成一個功能完整并使用流暢順手的產(chǎn)品,這其中牽涉了不同技術(shù)間的整合與運用。在此我們便根據(jù)其多年的測試與研究經(jīng)驗,歸納出五大Android相關(guān)設(shè)備在技術(shù)整合上的重要環(huán)節(jié):

1、Linux驅(qū)動程序的導(dǎo)入

由于Android是根源于Linux所延伸出來的操作系統(tǒng),因此各種關(guān)鍵功能的驅(qū)動程序也必須要能順利的寫入其中,舉凡像是字符設(shè)備、存儲器的空間配置、中斷處理、網(wǎng)路通信、螢?zāi)伙@示或是連接接口像是USB與PCI的驅(qū)動程序,這些可能是自行撰寫、或是來自不同組件廠商的驅(qū)動程序,都必須要能被導(dǎo)入到Android系統(tǒng),并維持良好穩(wěn)定的效能表現(xiàn)。

2、系統(tǒng)單芯片的優(yōu)化處理

對廠商而言,開發(fā)一款A(yù)ndroid設(shè)備,不僅僅只是將所有零組件組合成為一個產(chǎn)品那么容易,最大的學(xué)問便在于將系統(tǒng)單芯片(System-on-a-chip,SoC)、各種新技術(shù)和Android系統(tǒng)進行整合,SoC涉及像是Dalvik Virtual Machine、OpenGL、V8、Webkit Engine等上層的演算,與Android間的結(jié)合便必須透過不斷的嘗試與驗證,才能研發(fā)出既符合成本效益、又有良好效能的優(yōu)化產(chǎn)品。目前市面上有些SoC廠商已針對Android系統(tǒng)的特性,提供整合過的SoC平臺,將藍牙、相機或上網(wǎng)等常用功能模組預(yù)先寫入,減少終端成品廠商費力整合開發(fā)的時間,但對廠商而言,這樣的預(yù)先整合是否適合自身產(chǎn)品,以及是否需要再作更細致的修改,則又是更困難的課題。

3、新技術(shù)的移植

隨著技術(shù)的快速發(fā)展,更多新興的技術(shù)規(guī)格也逐漸應(yīng)用在手機等手持設(shè)備上,以手機為例,已經(jīng)從過去以撥打電話為主要功能,轉(zhuǎn)變?yōu)閾碛懈鞣N多樣化用途的產(chǎn)品。像是觸控技術(shù)讓消費者可以透過手指的滑動傳送指令甚至是具備多點觸控的支持、Wi-Fi模組提供隨時無線上網(wǎng)的可能、通用圖形處理器(General-purpose computing on graphics procESSing units,GPGPU)則能以并行方式透過圖形處理器來執(zhí)行通用計算任務(wù)、Android 2.3版所支持的NFC近場通信技術(shù),以及更高階的相機模組等等,背后都有各自的驅(qū)動程序與軟件技術(shù),也必須要與Android系統(tǒng)相結(jié)合使用。

4、效能表現(xiàn)的穩(wěn)定

盡管上述這些技術(shù)不斷推陳出新,但也都不能因此而犧牲設(shè)備原本的效能表現(xiàn),讓處理速度因此變慢或造成使用上不順暢的狀況。除了采用更好的硬件設(shè)備外(例如現(xiàn)今處理器的時脈已邁向1GHz),更需要操作系統(tǒng)的支持,像是如何在多任務(wù)運作的狀況下維持程序執(zhí)行速度以及系統(tǒng)滿載的處理等等,都必須要透過軟件面的奧援。也就是說,一臺Android設(shè)備除了要能將各種功能與技術(shù)收納起來、將軟硬件整合外,更必須同時注重它在效能上能否維持應(yīng)有的水準,以提供使用者在操作上流暢易上手的感受。

5、低電耗設(shè)計

Android的設(shè)計概念主要是應(yīng)用于便攜式設(shè)備上,目前市面上可見的像是平板電腦與智能手機等。對這類產(chǎn)品而言,電池續(xù)航力的好壞可說是影響消費者使用感受的關(guān)鍵之一,試想,若是一臺智能手機的待機時間過短,而使用者在外時又無法隨時充電使用,不能即時的連網(wǎng)查詢資料或執(zhí)行其他手機功能,這樣的產(chǎn)品便失去了它作為便攜式移動設(shè)備應(yīng)有的便利性。追根究底,良好的待機時間除了需仰賴高容量的電池以提供充足電力之外,另一個重點就是設(shè)備本身在被使用執(zhí)行時能否作到低電耗設(shè)計。Android設(shè)備讓使用者能透過各種多樣化的應(yīng)用程序,來達到各種不同的使用目的,舉凡像是單純上網(wǎng)、觀看新聞、郵件推播或是游戲等等,各種不同功能的程序都能透過自由下載使用,也由于其多任務(wù)處理與讓程序背景執(zhí)行的能力,更讓降低耗電量成為開發(fā)者不可輕忽的一項課題。

持續(xù)驗證修正找出最佳Android整合方案

正如前面我們不斷提到的,對Android設(shè)備而言,最困難的開發(fā)挑戰(zhàn)便在于如何完美地“整合”軟件與硬件,以開發(fā)出一項功能完整又同時注重使用者感受的產(chǎn)品。從對Android本身程序碼的修改、相關(guān)硬件的選擇,到驅(qū)動程序的結(jié)合運用以及能否維持穩(wěn)定的效能表現(xiàn)等,在在都必須要透過仔細的研究與不斷的嘗試,才能找出問題的根源并解決、更進而找出最合適的整合方案。

像是Android源代碼中對音源的重新取樣(Re-sampling)設(shè)計,就會導(dǎo)致設(shè)備在讀取48K音源時重新取樣成44K,而造成諧波失真的現(xiàn)象影響音質(zhì),這便是廠商不會注意到而未去修改的問題;另外像是天線位置的設(shè)計,也可能直接的影響到收訊能力的好壞;而不良的電源管理設(shè)計,也極有可能影響到設(shè)備在持續(xù)使用狀態(tài)中的耗電情形。百佳泰在此僅以專業(yè)測試驗證實驗室的角度,希冀以宏觀的方式,針對Android設(shè)備的開發(fā)設(shè)計提供可用的參考,近期內(nèi)我們也將會提供實際的相關(guān)測試數(shù)據(jù)報告,并進一步指陳這些可能的問題風(fēng)險,以期讓更多廠商與消費者都能注意到品質(zhì)驗證的重要性,是從產(chǎn)品設(shè)計的根源就要開始層層把關(guān)。

Android 是運行于 Linux kernel之上,但并不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 為了達到商業(yè)應(yīng)用,必須移除被GNU GPL授權(quán)證所約束的部份,例如Android將驅(qū)動程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開。bionic/libc/kernel/ 并非標準的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產(chǎn)生的,這樣做是為了保留常數(shù)、數(shù)據(jù)結(jié)構(gòu)與宏。  目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網(wǎng)絡(luò)堆棧(Network Stack),驅(qū)動程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構(gòu)建工具 Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区在线看| 午夜久久黄色| 国产精品一区二区男女羞羞无遮挡| 老司机精品导航| 欧美一区二区三区久久精品| 伊人久久综合97精品| 夜夜狂射影院欧美极品| 亚洲国产日韩欧美在线图片| 女主播福利一区| 亚洲人成艺术| 亚洲美女少妇无套啪啪呻吟| 欧美在线视频一区二区| 影音先锋在线一区| 一区二区三区产品免费精品久久75 | 亚洲性夜色噜噜噜7777| 亚洲中字在线| 国产欧美日韩综合一区在线观看| 狠久久av成人天堂| 亚洲国产综合91精品麻豆| 一区在线播放| 欧美日韩免费视频| 欧美三级精品| 国产精品理论片在线观看| 国产精品羞羞答答xxdd| 国产日韩欧美中文在线播放| 国内精品美女在线观看| 亚洲第一级黄色片| 亚洲乱码国产乱码精品精98午夜 | 国产嫩草一区二区三区在线观看| 久久在线播放| 免费91麻豆精品国产自产在线观看| 日韩视频在线永久播放| 一区二区三区视频在线| 一区二区三区欧美激情| 亚洲综合色视频| 欧美诱惑福利视频| 久久资源av| 欧美极品在线观看| 国产精品久久久亚洲一区 | 国产精品扒开腿爽爽爽视频| 欧美伦理影院| 免播放器亚洲一区| 亚洲在线网站| 国模精品一区二区三区| 久久免费视频观看| 日韩一二在线观看| 欧美精品在线一区二区| 欧美激情日韩| 亚洲在线观看视频| 欧美一区二区三区在线观看视频| 久久精品国产2020观看福利| 欧美视频在线一区二区三区| 亚洲一区网站| 久久久久久噜噜噜久久久精品 | 中国女人久久久| 亚洲一区精品电影| 国产欧美一二三区| 亚洲淫性视频| 亚洲香蕉网站| 午夜伦欧美伦电影理论片| 亚洲视频1区2区| 性视频1819p久久| 在线观看日产精品| 夜夜精品视频| 久久av红桃一区二区小说| 亚洲国产你懂的| 亚洲一区二区三区在线视频| 久久久久综合一区二区三区| 欧美日韩国产精品| 国产伊人精品| 亚洲国产美女久久久久| 欧美华人在线视频| 欧美精品观看| 国产综合亚洲精品一区二| 性色一区二区| 在线视频一区观看| 亚洲高清不卡av| 午夜精品网站| 欧美人与性禽动交情品 | 欧美日韩第一区| 欧美在线看片| 亚洲黄网站黄| 日韩一区二区精品| 国产一区二区三区直播精品电影| 国产精品国产自产拍高清av王其 | 亚洲二区精品| 亚洲三级网站| 久久国产欧美| 亚洲欧洲99久久| 午夜精品久久久99热福利| 一区二区三区四区在线| 一区二区三区免费网站| 欧美日韩亚洲高清一区二区| 欧美一级成年大片在线观看| 国产在线精品二区| 欧美成人精品在线观看| 国产精品久久久久91| 欧美日韩天堂| 久久激情五月丁香伊人| aa亚洲婷婷| 噜噜噜躁狠狠躁狠狠精品视频 | 性色av一区二区三区| 日韩视频一区二区三区| 久久免费视频一区| 国产精品永久入口久久久| 一本色道久久综合亚洲91| 亚洲免费观看在线视频| 蜜桃av综合| 黄色成人在线网站| 久久国产高清| 久久久亚洲国产天美传媒修理工| 欧美国产日韩精品免费观看| 国产亚洲毛片| 欧美一区二区在线| 欧美综合77777色婷婷| 国产精品久久网| 亚洲一区二区三区影院| 亚洲视频一起| 欧美日韩成人激情| 欧美经典一区二区三区| 国产精品视频专区| 国产精品久久久久天堂| 国产亚洲精品aa| 亚洲视频999| 欧美久久电影| 亚洲美女免费视频| 一区二区三区av| 欧美色图首页| 亚洲少妇自拍| 亚洲欧美日本精品| 欧美三级欧美一级| 中日韩视频在线观看| 欧美午夜不卡视频| 久久亚洲影音av资源网| 精东粉嫩av免费一区二区三区| 欧美日韩 国产精品| 亚洲国产高清高潮精品美女| 最新高清无码专区| 欧美激情欧美激情在线五月| 亚洲国产成人精品久久久国产成人一区| 亚洲一区在线播放| 亚洲欧美一区二区在线观看| 国产欧美日本| 亚洲高清在线精品| 欧美激情国产高清| 一区二区高清在线| 欧美在线视频在线播放完整版免费观看 | 一区二区三区高清不卡| 亚洲国产精品一区二区尤物区 | 亚洲精品黄色| 亚洲一区二区成人| 国产精品乱子久久久久| 亚洲欧美日韩中文视频| 久久全球大尺度高清视频| 亚洲国产成人久久| 亚洲视频综合| 国产区二精品视| 亚洲专区一区| 久久一区二区三区国产精品| 亚洲精品精选| 香蕉久久国产| 亚洲福利视频在线| 亚洲一区二区三区在线看| 国产一区二区三区精品欧美日韩一区二区三区 | 午夜精品av| 精品二区视频| 宅男噜噜噜66国产日韩在线观看| 欧美v国产在线一区二区三区| 国产视频在线一区二区| 久久精品夜夜夜夜久久| 欧美日韩国产一区二区三区| 午夜在线一区| 欧美成人综合网站| 禁断一区二区三区在线| 亚洲欧美日韩成人| 亚洲人成亚洲人成在线观看| 欧美在线黄色| 欧美影院成人| 久久国产精彩视频| 亚洲黄色在线| 欧美主播一区二区三区| 亚洲人成网站在线播| 久久爱www久久做| 亚洲免费成人| 久久日韩精品| 中文在线资源观看网站视频免费不卡| 亚洲精品乱码久久久久久| 欧美日韩亚洲91| 亚洲第一色在线| 国产精品乱码人人做人人爱| 亚洲日本久久| 国产亚洲一区在线| 亚洲欧洲一级| 国产性天天综合网| 亚洲人妖在线| 国产一区二区三区久久精品| 亚洲砖区区免费| 91久久久在线| 乱中年女人伦av一区二区| 亚洲图片欧美一区|