版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建Android系統(tǒng)結(jié)結(jié)構(gòu)Android開(kāi)發(fā)環(huán)境境搭建Android啟動(dòng)流程程分析Android系統(tǒng)結(jié)結(jié)構(gòu)Android系統(tǒng)結(jié)結(jié)構(gòu)基于Linux的自由及及開(kāi)源的的操作系系統(tǒng)。Android操作系統(tǒng)統(tǒng)最初由由Andy Rubin開(kāi)發(fā)。2008年10月第一部Android智能手機(jī)機(jī)發(fā)布。2011年第1季度,Android在全球的的市場(chǎng)份份額首次次超過(guò)塞塞班系統(tǒng)統(tǒng),躍居居全球第第一。2012年11月,Android占據(jù)全球球智能手手機(jī)操作作系統(tǒng)市市場(chǎng)76%的份額,中國(guó)市市場(chǎng)占有有率為90%。2013年09月24日谷歌開(kāi)開(kāi)發(fā)的操操作系統(tǒng)統(tǒng)Android迎來(lái)了5歲生日,全
2、世界界采用這這款系統(tǒng)統(tǒng)的設(shè)備備數(shù)量已已經(jīng)達(dá)到到10億臺(tái)。目前最流流行的智智能手機(jī)機(jī)開(kāi)發(fā)平平臺(tái),現(xiàn)現(xiàn)已普及及到平板板電腦、游戲機(jī)機(jī)、數(shù)碼碼相機(jī)、OTT機(jī)頂盒、智能電電視等各各終端產(chǎn)產(chǎn)品。Android系統(tǒng)結(jié)結(jié)構(gòu)一個(gè)好的的開(kāi)發(fā)平平臺(tái)一定定有一個(gè)個(gè)成熟、穩(wěn)定的的系統(tǒng)架架構(gòu)來(lái)支支撐Android平臺(tái)系統(tǒng)統(tǒng)結(jié)構(gòu)從從上到下下分為四四層:應(yīng)用層框架層系統(tǒng)運(yùn)行行庫(kù)Linux內(nèi)核層Android系統(tǒng)結(jié)結(jié)構(gòu)應(yīng)用層Android不僅僅僅是操作作系統(tǒng),也包含含了許多多應(yīng)用程程序,如如SMS短信客客戶端程程序、電電話撥號(hào)號(hào)程序、圖片瀏瀏覽器、Web瀏覽器器等。用Java語(yǔ)言言編寫,基于框框架層API實(shí)現(xiàn)??杀婚_(kāi)發(fā)發(fā)人員
3、開(kāi)開(kāi)發(fā)的其其他應(yīng)用用程序替替換。Android系統(tǒng)結(jié)結(jié)構(gòu)框架層可重用的的軟件組組件,簡(jiǎn)簡(jiǎn)化應(yīng)用用程序的的開(kāi)發(fā),向應(yīng)用用提供API。ActivityManager(活動(dòng)動(dòng)管理器器)管理理各個(gè)應(yīng)應(yīng)用程序序生命周周期以及及通常的的導(dǎo)航回回退功能能WindowManager(窗窗口管理理器)管管理所有有的窗口口程序Content Provider(內(nèi)容容提供器器)使得得不同應(yīng)應(yīng)用程序序之間存存取或者者分享數(shù)數(shù)據(jù)View System(視視圖系統(tǒng)統(tǒng))構(gòu)建建應(yīng)用程程序的基基本組件件NotificationManager(通通告管理理器)使使應(yīng)用用程序可可以在狀狀態(tài)欄中中顯示自自定義的的提示信信息Packa
4、ge Manager(包管理理器)Android系統(tǒng)統(tǒng)內(nèi)的程程序管理理ResourceManager(資源源管理器器)提供供應(yīng)用程程序使用用的各種種非代碼碼資源,如本地地化字符符串、圖圖片、布布局文件件、顏色色文件等等Android系統(tǒng)結(jié)結(jié)構(gòu)系統(tǒng)運(yùn)行行庫(kù)層系統(tǒng)庫(kù):連接框框架層與與Linux內(nèi)內(nèi)核層的的重要紐紐帶,框框架層的的支撐Surface Manager:負(fù)責(zé)管管理顯示示與存取取操間互互動(dòng),負(fù)負(fù)責(zé)2D與3D繪圖MediaFramework:多媒體體庫(kù),支支持常用用的音頻頻、視頻頻格式錄錄制和回回放SQLite:小小型的關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)引引擎OpenGL|ES:根據(jù)OpenGLES1.0AP
5、I標(biāo)準(zhǔn)實(shí)實(shí)現(xiàn)的3D繪圖圖函數(shù)庫(kù)庫(kù)WebKit:網(wǎng)頁(yè)瀏瀏覽器的的軟件引引擎SSL:在Andorid上上通信過(guò)過(guò)程中實(shí)實(shí)現(xiàn)握手手Libc:從BSD繼繼承的標(biāo)標(biāo)準(zhǔn)C系系統(tǒng)庫(kù),為基于于embeddedlinux的的設(shè)備定定制核心庫(kù):提供了了Java語(yǔ)言言API中的大大多數(shù)功功能,同同時(shí)也包包含了Android的一些些核心API,如android.os、android.media等等等。Dalvik虛虛擬機(jī):一種基基于寄存存器的Java虛擬機(jī)機(jī),而不不是傳統(tǒng)統(tǒng)的基于于棧的虛虛擬機(jī)。每個(gè)Android程序都都有一個(gè)個(gè)Dalivik虛擬擬機(jī)的實(shí)實(shí)例,并并在該實(shí)實(shí)例中執(zhí)執(zhí)行。Dalvik虛虛擬機(jī)進(jìn)進(jìn)行了內(nèi)內(nèi)存
6、資源源使用的的優(yōu)化,執(zhí)行.dex文件Android系統(tǒng)結(jié)結(jié)構(gòu)Linux內(nèi)核核層Android是基于于Linux2.6內(nèi)內(nèi)核,其其核心系系統(tǒng)服務(wù)務(wù)如安全全性、內(nèi)內(nèi)存管理理、進(jìn)程程管理、網(wǎng)路協(xié)協(xié)議以及及驅(qū)動(dòng)模模型都依依賴于Linux內(nèi)核核。除Linux標(biāo)準(zhǔn)驅(qū)動(dòng)動(dòng)外,需需要一些些專有驅(qū)驅(qū)動(dòng),如如Binder、Log、Ashmem等Android系統(tǒng)版版本發(fā)布日期版本號(hào)代號(hào)重大變化2008.91.12009.41.5Cupcake 紙杯蛋糕屏幕虛擬鍵盤2009.91.6Donut 甜甜圈2009.102.0/.1Eclair 松餅動(dòng)態(tài)桌面、HTML52010.52.2/2.2.1Froyo 凍酸奶3G
7、網(wǎng)絡(luò)、Flash支持2010.122.3/2.4Gingerbread 姜餅NFC2011.23.0/3.1/3.2Honeycomb 蜂巢針對(duì)平板進(jìn)行優(yōu)化,F(xiàn)ragment2011.104.0Ice Cream Sandwich冰激凌三明治全新UI2012.64.1Jelly Bean果凍豆2012.104.2Jelly Bean 果凍豆支持Miracast無(wú)線顯示共享功能待定4.4Kit Kat 奇巧巧克力Android系統(tǒng)優(yōu)勢(shì)勢(shì)完全開(kāi)放放的系統(tǒng)統(tǒng),吸引引越來(lái)越越多的廠廠家和消消費(fèi)者,將催生生眾多硬硬件支持持和程序序選擇無(wú)縫結(jié)合合Google應(yīng)用,如如Google地圖、郵郵件、搜搜索等互互
8、聯(lián)網(wǎng)的的重要服服務(wù)。開(kāi)源軟件件系統(tǒng),功能強(qiáng)強(qiáng)大,支支持眾多多軟件,如Webkit瀏覽器、播放器器、FLASH等。高效的JAVA虛擬機(jī)Dalvik,支持JAVA,速度快快。Android系統(tǒng)劣勢(shì)勢(shì)版本更新新快,如如何保持持前后兼兼容完全開(kāi)發(fā)發(fā)的系統(tǒng)統(tǒng),如何何保持不不同廠家家之間兼兼容Android系統(tǒng)開(kāi)發(fā)發(fā)涉及三個(gè)個(gè)層次:Android系統(tǒng)移植植開(kāi)發(fā)芯片廠家家會(huì)提供供基于其其樣板的的SDK,拿到其其樣板及及SDK后,需要要針對(duì)我我司的具具體硬件件及產(chǎn)品品業(yè)務(wù)做做如下工工作:fastboot移植(DDR參數(shù)/啟動(dòng)流程程)、Recovery、設(shè)備驅(qū)驅(qū)動(dòng)、工工廠菜單單、媒體體播放、音視頻頻兼容性性等A
9、ndroid子系統(tǒng)開(kāi)開(kāi)發(fā)涉及到系系統(tǒng)各個(gè)個(gè)層次:封裝硬硬件抽象象層、增增加C/C+本地業(yè)務(wù)務(wù)庫(kù)、定定義Java層所需要要的類、將本地地業(yè)務(wù)庫(kù)庫(kù)的功能能接口封封裝成JNI、結(jié)合Java類和JNI、提供應(yīng)應(yīng)用程序序調(diào)用的的Java框架類等等Android應(yīng)用程序序開(kāi)發(fā)根據(jù)具體體產(chǎn)品的的業(yè)務(wù)需需求定制制開(kāi)發(fā)特特定apkeclipse環(huán)境搭建建、系統(tǒng)統(tǒng)調(diào)試(Logcat、DDMS等)Android目錄結(jié)結(jié)構(gòu)Android開(kāi)發(fā)環(huán)環(huán)境搭建建Android應(yīng)用開(kāi)開(kāi)發(fā)環(huán)境境搭建Android系系統(tǒng)開(kāi)發(fā)發(fā)環(huán)境搭搭建Android應(yīng)用開(kāi)開(kāi)發(fā)環(huán)境境搭建Android應(yīng)用開(kāi)開(kāi)發(fā)環(huán)境境搭建Android系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境
10、搭建Android系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建Android系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境要求:操作系統(tǒng)統(tǒng):Ubuntu(版版本號(hào)=10.04)硬盤空間間:10GBJDK版版本:1.6(根據(jù)據(jù)android版本本而定)Python版版本:2.42.7Android系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建安裝依賴賴包:64位機(jī)機(jī)器:$ sudoapt-getinstall git-core gnupg flexbisongperfbuild-essentialzipcurlzlib1g-dev libc6-devlib32ncurses5-devia32-libsx11proto-core-devlibx11-dev lib32read
11、line5-devlib32z-dev libgl1-mesa-devg+-multilib mingw32tofrodos32位機(jī)機(jī)器:$ sudoapt-getinstall git-core gnupg flexbisongperfbuild-essentialzipcurlzlib1g-dev libc6-devlibncurses5-devx11proto-core-devlibx11-dev libgl1-mesa-dev tofrodosAndroid系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建安裝JDK:步驟1更更新安裝裝包$ sudoapt-getupdate步驟2安安裝jdk1.6$ sudoap
12、t-getinstall sun-java6-jdk用戶按提提示操作作即可。步驟3檢檢查安裝裝結(jié)果確認(rèn)JDK版版本號(hào)正正確$ java-versionjava version1.6.0_26Java(TM)SERuntime Environment (build1.6.0_26-b03)Java HotSpot(TM) 64-BitServerVM(build 20.1-b02,mixedmode)Android系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建安裝python:python工工具的安安裝:$ sudoapt-getinstall pythonAndroid系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建安裝交叉叉編譯工工具鏈(his
13、ilicon)當(dāng)?shù)谝淮未文玫胶:K奸_(kāi)發(fā)發(fā)包,或或遇到發(fā)發(fā)布包中中交叉編編譯工具具鏈的版版本更新新時(shí),需需重新安安裝編譯譯工具鏈鏈交叉編譯譯工具鏈鏈:arm-hisiv200-linux在交叉工工具鏈安安裝包目目錄下執(zhí)執(zhí)行命令令:./cross.installAndroid系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建編譯源碼碼(hisilicon)解壓海思思提供的的開(kāi)發(fā)包包進(jìn)入解壓壓后的目目錄,設(shè)設(shè)置編譯譯環(huán)境/home/work/ics$ sourcebuild/envsetup.sh/home/work/ics$ lunch full_godbox-eng編譯環(huán)境境只需設(shè)設(shè)置一次次即可進(jìn)進(jìn)行多次次編譯。但切換換 s
14、hell 環(huán)境境,則需需要重新新設(shè)置。編譯/home/work/ics$ ./mk-all.sh4(并發(fā)線線程數(shù),根據(jù)服服務(wù)器性性能自行行調(diào)整)Android系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建編譯后在在out目錄下下會(huì)生成成二進(jìn)制制文件:outtargetproductgodbox:userdata.ics.yaffs2_xkybsystem.ics.yaffs2_xkybrecovery.imgkernelx 表示示NANDFLASH的頁(yè)頁(yè)大小page size(bytes為單位位)y 表示示ECC 校驗(yàn)驗(yàn)位數(shù)目前板子子配置是是2k1bAndroid系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建-燒寫Flash將bootableb
15、ootloaderfastboot3.0fastboot_burn目錄拷貝貝出來(lái),里面包包含燒錄錄工具FastBoot3.1.8.exe準(zhǔn)備好tftp升級(jí)工工具,并并將編譯譯源碼中中生成的的文件拷拷貝到tftp升級(jí)工工具所指指向的目目錄下準(zhǔn)備板子子及串口口線,準(zhǔn)準(zhǔn)備進(jìn)行行燒錄Android系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建-燒寫寫u-bootAndroid系統(tǒng)開(kāi)開(kāi)發(fā)環(huán)境境搭建-燒燒寫kernel及system等等使用李鐵鐵柱發(fā)布布的tftp工工具,將將kernel及system、userdata、recovery等按按照劃分分的各個(gè)個(gè)分區(qū)的的Flash地地址進(jìn)行行燒錄。參考分區(qū)區(qū)如下:Android系統(tǒng)開(kāi)開(kāi)
16、發(fā)環(huán)境境搭建-配置bootargs進(jìn)入u-boot,在在串口下下輸入如如下命令令:setbootcmdnandread 82000000 2e00000a00000;bootm0 x82000000setappargsmem=764Mvmalloc=600M console=ttyAMA0,115200mtddev=blackbox androidboot.console=ttyAMA0mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(envback),512K(cfg),512K(cfgback),3840K(recovery),128K
17、(deviceinfo),128K(baseparam),4M(logo),4M(fastplay),30M(cache),1M(misc),10M(kernel),180M(system),128M(userdata),10M(commondata),1M(blackbox),136M(sdcard)setrecoverybootargsmem=808Mconsole=ttyAMA0,115200mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(envback),512K(cfg),512K(cfgback),3840K(recovery
18、),128K(deviceinfo),128K(baseparam),4M(logo),4M(fastplay),30M(cache),1M(misc),10M(kernel),180M(system),128M(userdata),10M(commondata),1M(blackbox),136M(sdcard)save燒錄成功功,重啟啟機(jī)頂盒盒即可啟啟動(dòng)Android開(kāi)發(fā)環(huán)環(huán)境搭建建至此,Android開(kāi)發(fā)環(huán)環(huán)境搭建建成功。參考文檔檔:Android系統(tǒng)啟啟動(dòng)流程程分析Android啟動(dòng)流流程分析析Android啟動(dòng)流流程Android從Linux系統(tǒng)啟動(dòng)動(dòng)有4個(gè)步驟;Init進(jìn)程啟動(dòng)動(dòng)Native服務(wù)啟動(dòng)動(dòng)SystemServer服務(wù)啟動(dòng)動(dòng)Launcher啟動(dòng)Android啟動(dòng)流程程第一步:initial進(jìn)程(system/core/init)Init
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 梅翠與李明2025年度離婚協(xié)議及共同財(cái)產(chǎn)清算協(xié)議4篇
- 2025年光伏發(fā)電系統(tǒng)維護(hù)保養(yǎng)服務(wù)合同2篇
- 二零二五年度廠房租賃合同附帶環(huán)保設(shè)施維護(hù)服務(wù)3篇
- 2025年度農(nóng)產(chǎn)品電商平臺(tái)用戶數(shù)據(jù)保護(hù)合同范本
- 二零二五版知識(shí)產(chǎn)權(quán)授權(quán)使用買賣合同3篇
- 2025版農(nóng)業(yè)科技股份收購(gòu)與鄉(xiāng)村振興戰(zhàn)略合同3篇
- 2025年度鋪面租賃與智慧城市建設(shè)協(xié)議4篇
- 2025年度環(huán)保材料個(gè)人代理銷售協(xié)議4篇
- 2025年度合作社科技貸款合同3篇
- 二零二五年度外貿(mào)居間合同中英文翻譯質(zhì)量保證措施
- 山東省桓臺(tái)第一中學(xué)2024-2025學(xué)年高一上學(xué)期期中考試物理試卷(拓展部)(無(wú)答案)
- 中華人民共和國(guó)保守國(guó)家秘密法實(shí)施條例培訓(xùn)課件
- 管道坡口技術(shù)培訓(xùn)
- 2024年全國(guó)統(tǒng)一高考英語(yǔ)試卷(新課標(biāo)Ⅰ卷)含答案
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識(shí) CCAA年度確認(rèn) 試題與答案
- 皮膚儲(chǔ)存新技術(shù)及臨床應(yīng)用
- 外研版七年級(jí)英語(yǔ)上冊(cè)《閱讀理解》專項(xiàng)練習(xí)題(含答案)
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)必考題
- 上海市復(fù)旦大學(xué)附中2024屆高考沖刺模擬數(shù)學(xué)試題含解析
- 幼兒園公開(kāi)課:大班健康《國(guó)王生病了》課件
- 小學(xué)六年級(jí)說(shuō)明文閱讀題與答案大全
評(píng)論
0/150
提交評(píng)論