![Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建講義_第1頁(yè)](http://file4.renrendoc.com/view/250060e8326df65907879b9f1f002b05/250060e8326df65907879b9f1f002b051.gif)
![Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建講義_第2頁(yè)](http://file4.renrendoc.com/view/250060e8326df65907879b9f1f002b05/250060e8326df65907879b9f1f002b052.gif)
![Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建講義_第3頁(yè)](http://file4.renrendoc.com/view/250060e8326df65907879b9f1f002b05/250060e8326df65907879b9f1f002b053.gif)
![Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建講義_第4頁(yè)](http://file4.renrendoc.com/view/250060e8326df65907879b9f1f002b05/250060e8326df65907879b9f1f002b054.gif)
![Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建講義_第5頁(yè)](http://file4.renrendoc.com/view/250060e8326df65907879b9f1f002b05/250060e8326df65907879b9f1f002b055.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建Android系統(tǒng)結(jié)構(gòu)
Android開(kāi)發(fā)環(huán)境搭建
Android啟動(dòng)流程分析Android系統(tǒng)結(jié)構(gòu)Android系統(tǒng)結(jié)構(gòu)基于Linux的自由及開(kāi)源的操作系統(tǒng)。Android操作系統(tǒng)最初由AndyRubin開(kāi)發(fā)。2008年10月
第一部Android智能手機(jī)發(fā)布。2011年第1季度,Android在全球的市場(chǎng)份額首次超過(guò)塞班系統(tǒng),躍居全球第一。2012年11月,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)76%的份額,中國(guó)市場(chǎng)占有率為90%。2013年09月24日谷歌開(kāi)發(fā)的操作系統(tǒng)Android迎來(lái)了5歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到10億臺(tái)。目前最流行的智能手機(jī)開(kāi)發(fā)平臺(tái),現(xiàn)已普及到平板電腦、游戲機(jī)、數(shù)碼相機(jī)、OTT機(jī)頂盒、智能電視等各終端產(chǎn)品。Android系統(tǒng)結(jié)構(gòu)一個(gè)好的開(kāi)發(fā)平臺(tái)一定有一個(gè)成熟、穩(wěn)定的系統(tǒng)架構(gòu)來(lái)支撐Android平臺(tái)系統(tǒng)結(jié)構(gòu)從上到下分為四層:應(yīng)用層框架層系統(tǒng)運(yùn)行庫(kù)Linux內(nèi)核層Android系統(tǒng)結(jié)構(gòu)應(yīng)用層Android不僅僅是操作系統(tǒng),也包含了許多應(yīng)用程序,如SMS短信客戶端程序、電話撥號(hào)程序、圖片瀏覽器、Web瀏覽器等。用Java語(yǔ)言編寫,基于框架層API實(shí)現(xiàn)??杀婚_(kāi)發(fā)人員開(kāi)發(fā)的其他應(yīng)用程序替換。Android系統(tǒng)結(jié)構(gòu)框架層可重用的軟件組件,簡(jiǎn)化應(yīng)用程序的開(kāi)發(fā),向應(yīng)用提供API。ActivityManager(活動(dòng)管理器)管理各個(gè)應(yīng)用程序生命周期以及通常的導(dǎo)航回退功能WindowManager(窗口管理器)管理所有的窗口程序ContentProvider(內(nèi)容提供器)使得不同應(yīng)用程序之間存取或者分享數(shù)據(jù)ViewSystem(視圖系統(tǒng))構(gòu)建應(yīng)用程序的基本組件NotificationManager(通告管理器)使應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息PackageManager(包管理器)Android系統(tǒng)內(nèi)的程序管理ResourceManager(資源管理器)提供應(yīng)用程序使用的各種非代碼資源,如本地化字符串、圖片、布局文件、顏色文件等Android系統(tǒng)結(jié)構(gòu)系統(tǒng)運(yùn)行庫(kù)層系統(tǒng)庫(kù):連接框架層與Linux內(nèi)核層的重要紐帶,框架層的支撐SurfaceManager:負(fù)責(zé)管理顯示與存取操間互動(dòng),負(fù)責(zé)2D與3D繪圖MediaFramework:多媒體庫(kù),支持常用的音頻、視頻格式錄制和回放SQLite:小型的關(guān)系型數(shù)據(jù)庫(kù)引擎OpenGL|ES:根據(jù)OpenGLES1.0API標(biāo)準(zhǔn)實(shí)現(xiàn)的3D繪圖函數(shù)庫(kù)WebKit:網(wǎng)頁(yè)瀏覽器的軟件引擎SSL:在Andorid上通信過(guò)程中實(shí)現(xiàn)握手Libc:從BSD繼承的標(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ī),而不是傳統(tǒng)的基于棧的虛擬機(jī)。每個(gè)Android程序都有一個(gè)Dalivik虛擬機(jī)的實(shí)例,并在該實(shí)例中執(zhí)行。Dalvik虛擬機(jī)進(jìn)行了內(nèi)存資源使用的優(yōu)化,執(zhí)行.dex文件Android系統(tǒng)結(jié)構(gòu)Linux內(nèi)核層Android是基于Linux2.6內(nèi)核,其核心系統(tǒng)服務(wù)如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)路協(xié)議以及驅(qū)動(dòng)模型都依賴于Linux內(nèi)核。除Linux標(biāo)準(zhǔn)驅(qū)動(dòng)外,需要一些專有驅(qū)動(dòng),如Binder、Log、Ashmem等Android系系統(tǒng)統(tǒng)版版本本發(fā)布日期版本號(hào)代號(hào)重大變化2008.91.1
2009.41.5Cupcake紙杯蛋糕屏幕虛擬鍵盤2009.91.6Donut甜甜圈
2009.102.0/.1Eclair松餅動(dòng)態(tài)桌面、HTML52010.52.2/2.2.1Froyo凍酸奶3G網(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.0IceCreamSandwich冰激凌三明治全新UI2012.64.1JellyBean果凍豆
2012.104.2JellyBean果凍豆支持Miracast無(wú)線顯示共享功能待定4.4KitKat奇巧巧克力
Android系統(tǒng)統(tǒng)優(yōu)優(yōu)勢(shì)勢(shì)完全全開(kāi)開(kāi)放放的的系系統(tǒng)統(tǒng),,吸吸引引越越來(lái)來(lái)越越多多的的廠廠家家和和消消費(fèi)費(fèi)者者,,將將催催生生眾眾多多硬硬件件支支持持和和程程序序選選擇擇無(wú)縫縫結(jié)結(jié)合合Google應(yīng)用用,,如如Google地圖圖、、郵郵件件、、搜搜索索等等互互聯(lián)聯(lián)網(wǎng)網(wǎng)的的重重要要服服務(wù)務(wù)。。開(kāi)源源軟軟件件系系統(tǒng)統(tǒng),,功功能能強(qiáng)強(qiáng)大大,,支支持持眾眾多多軟軟件件,,如如Webkit瀏覽覽器器、、播播放放器器、、FLASH等。。高效效的的JAVA虛擬擬機(jī)機(jī)Dalvik,支支持持JAVA,速速度度快快。。Android系統(tǒng)統(tǒng)劣劣勢(shì)勢(shì)版本本更更新新快快,,如如何何保保持持前前后后兼兼容容完全全開(kāi)開(kāi)發(fā)發(fā)的的系系統(tǒng)統(tǒng),,如如何何保保持持不不同同廠廠家家之之間間兼兼容容Android系統(tǒng)統(tǒng)開(kāi)開(kāi)發(fā)發(fā)涉及及三三個(gè)個(gè)層層次次::Android系統(tǒng)統(tǒng)移移植植開(kāi)開(kāi)發(fā)發(fā)芯片片廠廠家家會(huì)會(huì)提提供供基基于于其其樣樣板板的的SDK,拿拿到到其其樣樣板板及及SDK后,,需需要要針針對(duì)對(duì)我我司司的的具具體體硬硬件件及及產(chǎn)產(chǎn)品品業(yè)業(yè)務(wù)務(wù)做做如如下下工工作作::fastboot移植(DDR參數(shù)/啟動(dòng)流程))、Recovery、設(shè)備驅(qū)動(dòng)動(dòng)、工廠菜菜單、媒體體播放、音音視頻兼容容性等Android子系統(tǒng)開(kāi)發(fā)發(fā)涉及到系統(tǒng)統(tǒng)各個(gè)層次次:封裝硬硬件抽象層層、增加C/C++本地業(yè)務(wù)庫(kù)庫(kù)、定義Java層所需要的的類、將本本地業(yè)務(wù)庫(kù)庫(kù)的功能接接口封裝成成JNI、結(jié)合Java類和JNI、提供應(yīng)用用程序調(diào)用用的Java框架類等Android應(yīng)用程序開(kāi)開(kāi)發(fā)根據(jù)具體產(chǎn)產(chǎn)品的業(yè)務(wù)務(wù)需求定制制開(kāi)發(fā)特定定apkeclipse環(huán)境搭建、、系統(tǒng)調(diào)試試(Logcat、DDMS等)Android目錄錄結(jié)構(gòu)Android開(kāi)發(fā)發(fā)環(huán)境搭建建Android應(yīng)用用開(kāi)發(fā)環(huán)境境搭建Android系系統(tǒng)開(kāi)發(fā)環(huán)環(huán)境搭建Android應(yīng)用用開(kāi)發(fā)環(huán)境境搭建Android應(yīng)用用開(kāi)發(fā)環(huán)境境搭建Android系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建Android系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建Android系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境要求:操作系統(tǒng)::Ubuntu(版版本號(hào)>=10.04)硬盤空間::10GBJDK版版本:1.6(根據(jù)據(jù)android版版本而定))Python版本本:2.4~2.7Android系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建安裝依賴包包:64位機(jī)器器:$sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essential\zipcurlzlib1g-devlibc6-devlib32ncurses5-devia32-libs\x11proto-core-devlibx11-devlib32readline5-devlib32z-dev\libgl1-mesa-devg++-multilibmingw32tofrodos32位機(jī)器器:$sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essential\zipcurlzlib1g-devlibc6-devlibncurses5-dev\x11proto-core-devlibx11-dev\libgl1-mesa-devtofrodosAndroid系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建安裝JDK:步驟1更更新安安裝包$sudoapt-getupdate步驟2安安裝jdk1.6$sudoapt-getinstallsun-java6-jdk用戶按提示示操作即可可。步驟3檢檢查安安裝結(jié)果確認(rèn)JDK版本號(hào)號(hào)正確$java-versionjavaversion"1.6.0_26"Java(TM)SERuntimeEnvironment(build1.6.0_26-b03)JavaHotSpot(TM)64-BitServerVM(build20.1-b02,mixedmode)Android系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建安裝python::python工具的的安裝:$sudoapt-getinstallpythonAndroid系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建安裝交叉編編譯工具鏈鏈(hisilicon)當(dāng)?shù)谝淮文媚玫胶K奸_(kāi)開(kāi)發(fā)包,或或遇到發(fā)布布包中交叉叉編譯工具具鏈的版本本更新時(shí),,需重新安安裝編譯工工具鏈交叉編譯工工具鏈:arm-hisiv200-linux在交叉工具具鏈安裝包包目錄下執(zhí)執(zhí)行命令::./cross.installAndroid系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建編譯源碼((hisilicon)解壓海思提提供的開(kāi)發(fā)發(fā)包進(jìn)入解壓后后的目錄,,設(shè)置編譯譯環(huán)境/home/work/ics$sourcebuild/envsetup.sh/home/work/ics$lunchfull_godbox-eng編譯環(huán)境只只需設(shè)置一一次即可進(jìn)進(jìn)行多次編編譯。但切切換shell環(huán)環(huán)境,則則需要重新新設(shè)置。編譯/home/work/ics$./mk-all.sh4(并發(fā)線程程數(shù),根據(jù)據(jù)服務(wù)器性性能自行調(diào)調(diào)整)Android系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建編譯后在out目錄錄下會(huì)生成成二進(jìn)制文文件:out\target\product\godbox:recovery.imgkernelx表示NANDFLASH的頁(yè)大大小pagesize((bytes為單位位)y表示ECC校校驗(yàn)位數(shù)目前板子配配置是2k1bAndroid系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建燒燒寫Flash將bootable\bootloader\fastboot3.0\fastboot_burn目錄拷貝出出來(lái),里面面包含燒錄準(zhǔn)備好tftp升級(jí)級(jí)工具,并并將編譯源源碼中生成成的文件拷拷貝到tftp升級(jí)級(jí)工具所指指向的目錄錄下準(zhǔn)備板子及及串口線,,準(zhǔn)備進(jìn)行行燒錄Android系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建燒寫u-bootAndroid系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建燒燒寫kernel及及system等使用李鐵柱柱發(fā)布的tftp工工具,將kernel及system、userdata、recovery等按按照劃分的的各個(gè)分區(qū)區(qū)的Flash地址址進(jìn)行燒錄錄。參考分區(qū)如如下:Android系統(tǒng)統(tǒng)開(kāi)發(fā)環(huán)境境搭建配配置bootargs進(jìn)入u-boot,,在串口下下輸入如下下命令:setbootcmd'nandread820000002e00000a00000;bootm0x82000000'setappargs'mem=764Mvmalloc=600Mconsole=ttyAMA0,115200mtddev=blackboxandroidboot.console=ttyAMA0mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(envback),512K(cfg),512K(cfgback),3840K(recovery),128K(deviceinfo),128K(baseparam),4M(logo),4M(fastplay),30M(cache),1M(misc),10M(kernel),180M(system),128M(userdata),10M(commondata),1M(blackbox),136M(sdcard)'setrecoverybootargs'mem=808Mconsole=ttyAMA0,115200mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(envback),512K(cfg),512K(cfgback),3840K(recovery),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ī)機(jī)頂頂盒盒即即可可啟啟動(dòng)動(dòng)Android開(kāi)開(kāi)發(fā)發(fā)環(huán)環(huán)境境搭搭建建至此此,,Android開(kāi)開(kāi)發(fā)發(fā)環(huán)環(huán)境境搭搭建建成成功功。。參考考文文檔檔::Android系系統(tǒng)統(tǒng)啟啟動(dòng)動(dòng)流流程程分分析析Android啟啟動(dòng)動(dòng)流流程程分分析析Android啟啟動(dòng)動(dòng)流流程程Android從Linux系統(tǒng)統(tǒng)啟啟動(dòng)動(dòng)有有4個(gè)步步驟驟;;Init進(jìn)程程啟啟動(dòng)動(dòng)Native服務(wù)務(wù)啟啟動(dòng)動(dòng)SystemServer服務(wù)務(wù)啟啟動(dòng)動(dòng)Launcher啟動(dòng)動(dòng)Android啟動(dòng)動(dòng)流流程程第一一步步::initial進(jìn)程程(system/core/init)Init進(jìn)程程,,它它是是一一個(gè)個(gè)由由內(nèi)內(nèi)核核啟啟動(dòng)動(dòng)的的用用戶戶級(jí)級(jí)進(jìn)進(jìn)程程。。內(nèi)內(nèi)核核啟啟動(dòng)動(dòng)后后,,啟啟動(dòng)動(dòng)一一個(gè)個(gè)用用戶戶級(jí)級(jí)程程序序init的方方式式,,完完成成引引導(dǎo)導(dǎo)進(jìn)進(jìn)程程。。init始終終是是第第一一個(gè)個(gè)進(jìn)進(jìn)程程.Init進(jìn)程程起起來(lái)來(lái)后后根根據(jù)據(jù)init.rc和腳本本文文件件建建立立了了幾幾個(gè)個(gè)基基本本的的服服務(wù)務(wù)::servicemanamgerzygote。。。。
溫馨提示
- 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年實(shí)木類家具項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模式
- 2025年跨境電商產(chǎn)業(yè)園項(xiàng)目提案報(bào)告模范
- 2025年中介促成的辦公室租賃合同示例
- 2025年公司員工福利與激勵(lì)咨詢協(xié)議
- 市政綠化工程申請(qǐng)實(shí)施協(xié)議
- 2025年公路護(hù)欄維護(hù)保養(yǎng)合同范本
- 2025年倉(cāng)儲(chǔ)調(diào)度員勞動(dòng)合同范文
- 2025年供熱網(wǎng)絡(luò)運(yùn)營(yíng)維護(hù)服務(wù)合同示范文本
- 2025年農(nóng)藥使用與安全管理技術(shù)合作協(xié)議
- 2025年勞務(wù)派遣合同分析
- 南網(wǎng)5S管理、四步法、八步驟
- 管道工程污水管網(wǎng)監(jiān)理規(guī)劃(共44)
- 危貨運(yùn)輸車輛日常維護(hù)檢查及記錄表
- excel表格水池側(cè)壁及底板配筋計(jì)算程序(自動(dòng)版)
- 公司生產(chǎn)報(bào)廢單
- 商業(yè)寫字樓運(yùn)營(yíng)費(fèi)用
- 乘法口訣表(到25乘25)
- 建設(shè)工程施工合同糾紛案件要點(diǎn)分析課件
- TPM“2”STEP培訓(xùn)方法和技巧(發(fā)生源困難源對(duì)策=兩源改善)
- 資產(chǎn)——固定資產(chǎn)練習(xí)題答案
- 英語(yǔ)書寫模板
評(píng)論
0/150
提交評(píng)論