




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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)及平臺(tái)搭建Android系統(tǒng)結(jié)構(gòu)
Android開(kāi)發(fā)環(huán)境搭建
Android啟動(dòng)流程分析Android系統(tǒng)結(jié)構(gòu)
Android開(kāi)發(fā)環(huán)境搭建
AnAndroid系統(tǒng)結(jié)構(gòu)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)基于Linux的自由及開(kāi)源的操作系統(tǒng)。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)一個(gè)好的開(kāi)發(fā)平臺(tái)一定有一個(gè)成熟、穩(wěn)定的Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建講義課件Android系統(tǒng)結(jié)構(gòu)應(yīng)用層Android不僅僅是操作系統(tǒng),也包含了許多應(yīng)用程序,如SMS短信客戶(hù)端程序、電話撥號(hào)程序、圖片瀏覽器、Web瀏覽器等。用Java語(yǔ)言編寫(xiě),基于框架層API實(shí)現(xiàn)??杀婚_(kāi)發(fā)人員開(kāi)發(fā)的其他應(yīng)用程序替換。Android系統(tǒng)結(jié)構(gòu)應(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)框架層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)系統(tǒng)運(yùn)行庫(kù)層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)模型都依賴(lài)于Linux內(nèi)核。除Linux標(biāo)準(zhǔn)驅(qū)動(dòng)外,需要一些專(zhuān)有驅(qū)動(dòng),如Binder、Log、Ashmem等Android系統(tǒng)結(jié)構(gòu)Linux內(nèi)核層Android系統(tǒng)版本發(fā)布日期版本號(hào)代號(hào)重大變化2008.91.1
2009.41.5Cupcake紙杯蛋糕屏幕虛擬鍵盤(pán)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)版本發(fā)布日期版本號(hào)代號(hào)重大變化2008.9Android系統(tǒng)優(yōu)勢(shì)完全開(kāi)放的系統(tǒng),吸引越來(lái)越多的廠家和消費(fèi)者,將催生眾多硬件支持和程序選擇無(wú)縫結(jié)合Google應(yīng)用,如Google地圖、郵件、搜索等互聯(lián)網(wǎng)的重要服務(wù)。開(kāi)源軟件系統(tǒng),功能強(qiáng)大,支持眾多軟件,如Webkit瀏覽器、播放器、FLASH等。高效的JAVA虛擬機(jī)Dalvik,支持JAVA,速度快。Android系統(tǒng)優(yōu)勢(shì)完全開(kāi)放的系統(tǒng),吸引越來(lái)越多的廠家和消Android系統(tǒng)劣勢(shì)版本更新快,如何保持前后兼容完全開(kāi)發(fā)的系統(tǒng),如何保持不同廠家之間兼容Android系統(tǒng)劣勢(shì)版本更新快,如何保持前后兼容Android系統(tǒng)開(kāi)發(fā)涉及三個(gè)層次:
Android系統(tǒng)移植開(kāi)發(fā)
芯片廠家會(huì)提供基于其樣板的SDK,拿到其樣板及SDK后,需要針對(duì)我司的具體硬件及產(chǎn)品業(yè)務(wù)做如下工作:fastboot移植(DDR參數(shù)/啟動(dòng)流程)、Recovery、設(shè)備驅(qū)動(dòng)、工廠菜單、媒體播放、音視頻兼容性等Android子系統(tǒng)開(kāi)發(fā)
涉及到系統(tǒng)各個(gè)層次:封裝硬件抽象層、增加C/C++本地業(yè)務(wù)庫(kù)、定義Java層所需要的類(lèi)、將本地業(yè)務(wù)庫(kù)的功能接口封裝成JNI、結(jié)合Java類(lèi)和JNI、提供應(yīng)用程序調(diào)用的Java框架類(lèi)等Android應(yīng)用程序開(kāi)發(fā)
根據(jù)具體產(chǎn)品的業(yè)務(wù)需求定制開(kāi)發(fā)特定apkeclipse環(huán)境搭建、系統(tǒng)調(diào)試(Logcat、DDMS等)Android系統(tǒng)開(kāi)發(fā)涉及三個(gè)層次:Android目錄結(jié)構(gòu)Android目錄結(jié)構(gòu)Android開(kāi)發(fā)環(huán)境搭建Android開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建
Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建
Android系統(tǒng)開(kāi)發(fā)環(huán)境Android應(yīng)用開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境要求:操作系統(tǒng):Ubuntu(版本號(hào)>=10.04)硬盤(pán)空間:10GBJDK版本:1.6(根據(jù)android版本而定)Python版本:2.4~2.7Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境要求Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝依賴(lài)包: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)開(kāi)發(fā)環(huán)境搭建安裝依賴(lài)包:Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝JDK:步驟1更新安裝包$sudoapt-getupdate步驟2安裝jdk1.6$sudoapt-getinstallsun-java6-jdk用戶(hù)按提示操作即可。步驟3檢查安裝結(jié)果確認(rèn)JDK版本號(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)開(kāi)發(fā)環(huán)境搭建安裝JDK:Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝python:python工具的安裝:$sudoapt-getinstallpythonAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝python:Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝交叉編譯工具鏈(hisilicon)當(dāng)?shù)谝淮文玫胶K奸_(kāi)發(fā)包,或遇到發(fā)布包中交叉編譯工具鏈的版本更新時(shí),需重新安裝編譯工具鏈交叉編譯工具鏈:arm-hisiv200-linux在交叉工具鏈安裝包目錄下執(zhí)行命令:./cross.installAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝交叉編譯工具鏈(hisilAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建編譯源碼(hisilicon)解壓海思提供的開(kāi)發(fā)包進(jìn)入解壓后的目錄,設(shè)置編譯環(huán)境/home/work/ics$sourcebuild/envsetup.sh/home/work/ics$lunchfull_godbox-eng編譯環(huán)境只需設(shè)置一次即可進(jìn)行多次編譯。但切換shell環(huán)境,則需要重新設(shè)置。編譯/home/work/ics$./mk-all.sh4(并發(fā)線程數(shù),根據(jù)服務(wù)器性能自行調(diào)整)Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建編譯源碼(hisilicon)Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建編譯后在out目錄下會(huì)生成二進(jìn)制文件:out\target\product\godbox:userdata.ics.yaffs2_xkybsystem.ics.yaffs2_xkybrecovery.imgkernelx表示NANDFLASH的頁(yè)大小pagesize(bytes為單位)y表示ECC校驗(yàn)位數(shù)目前板子配置是2k1bAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建編譯后在out目錄下會(huì)生成二進(jìn)Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
燒寫(xiě)Flash將bootable\bootloader\fastboot3.0\fastboot_burn目錄拷貝出來(lái),里面包含燒錄工具FastBoot3.1.8.exe準(zhǔn)備好tftp升級(jí)工具,并將編譯源碼中生成的文件拷貝到tftp升級(jí)工具所指向的目錄下準(zhǔn)備板子及串口線,準(zhǔn)備進(jìn)行燒錄Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
燒寫(xiě)u-bootAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建
Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
燒寫(xiě)kernel及system等使用李鐵柱發(fā)布的tftp工具,將kernel及system、userdata、recovery等按照劃分的各個(gè)分區(qū)的Flash地址進(jìn)行燒錄。參考分區(qū)如下:Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
Android系統(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ī)頂盒即可啟動(dòng)Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
Android開(kāi)發(fā)環(huán)境搭建至此,Android開(kāi)發(fā)環(huán)境搭建成功。參考文檔:Android開(kāi)發(fā)環(huán)境搭建至此,Android開(kāi)發(fā)環(huán)境搭建成Android系統(tǒng)啟動(dòng)流程分析Android系統(tǒng)啟動(dòng)流程分析Android啟動(dòng)流程分析Android啟動(dòng)流程分析Android啟動(dòng)流程Android從Linux系統(tǒng)啟動(dòng)有4個(gè)步驟;Init進(jìn)程啟動(dòng)Native服務(wù)啟動(dòng)SystemServer服務(wù)啟動(dòng)Launcher啟動(dòng)Android啟動(dòng)流程Android從Linux系統(tǒng)啟動(dòng)有4Android啟動(dòng)流程
第一步:initial進(jìn)程(system/core/init)Init進(jìn)程,它是一個(gè)由內(nèi)核啟動(dòng)的用戶(hù)級(jí)進(jìn)程。內(nèi)核啟動(dòng)后,啟動(dòng)一個(gè)用戶(hù)級(jí)程序init的方式,完成引導(dǎo)進(jìn)程。init始終是第一個(gè)進(jìn)程.Init進(jìn)程起來(lái)后根據(jù)init.rc和init.xxx.rc腳本文件建立了幾個(gè)基本的服務(wù):
servicemanamgerzygote。。。Android啟動(dòng)流程
Android啟動(dòng)流程
第二步
ZygoteServicemanager和zygote進(jìn)程奠定了Android的基礎(chǔ)。Zygote起來(lái)后會(huì)建立起真正的Android運(yùn)行空間。Zygote就建立后,利用Socket通訊,接收ActivityManangerService的請(qǐng)求,F(xiàn)ork應(yīng)用程序。Android啟動(dòng)流程
Android啟動(dòng)流程
第三步
SystemServerZygote進(jìn)程啟動(dòng)后會(huì)fork一個(gè)進(jìn)程SystemServer。Android的所有服務(wù)循環(huán)框架都是建立SystemServer上。SystemServer會(huì)建立很多服務(wù),并將服務(wù)添加到ServiceManager中進(jìn)行統(tǒng)一管理。Android啟動(dòng)流程
Android啟動(dòng)流程
第四步
Launcher啟動(dòng)在SystemServer啟動(dòng)完所有的Android服務(wù)后,會(huì)通知各個(gè)服務(wù),系統(tǒng)已經(jīng)就緒。Launcher就是在ActivityManagerService接收到通知后建立的。Android啟動(dòng)流程
實(shí)例演示Hi3716C盒子啟動(dòng)流程及Init.rc分析實(shí)例演示
Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建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開(kāi)發(fā)環(huán)境搭建
AnAndroid系統(tǒng)結(jié)構(gòu)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)基于Linux的自由及開(kāi)源的操作系統(tǒng)。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)一個(gè)好的開(kāi)發(fā)平臺(tái)一定有一個(gè)成熟、穩(wěn)定的Android系統(tǒng)結(jié)構(gòu)及平臺(tái)搭建講義課件Android系統(tǒng)結(jié)構(gòu)應(yīng)用層Android不僅僅是操作系統(tǒng),也包含了許多應(yīng)用程序,如SMS短信客戶(hù)端程序、電話撥號(hào)程序、圖片瀏覽器、Web瀏覽器等。用Java語(yǔ)言編寫(xiě),基于框架層API實(shí)現(xiàn)。可被開(kāi)發(fā)人員開(kāi)發(fā)的其他應(yīng)用程序替換。Android系統(tǒng)結(jié)構(gòu)應(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)框架層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)系統(tǒng)運(yùn)行庫(kù)層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)模型都依賴(lài)于Linux內(nèi)核。除Linux標(biāo)準(zhǔn)驅(qū)動(dòng)外,需要一些專(zhuān)有驅(qū)動(dòng),如Binder、Log、Ashmem等Android系統(tǒng)結(jié)構(gòu)Linux內(nèi)核層Android系統(tǒng)版本發(fā)布日期版本號(hào)代號(hào)重大變化2008.91.1
2009.41.5Cupcake紙杯蛋糕屏幕虛擬鍵盤(pán)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)版本發(fā)布日期版本號(hào)代號(hào)重大變化2008.9Android系統(tǒng)優(yōu)勢(shì)完全開(kāi)放的系統(tǒng),吸引越來(lái)越多的廠家和消費(fèi)者,將催生眾多硬件支持和程序選擇無(wú)縫結(jié)合Google應(yīng)用,如Google地圖、郵件、搜索等互聯(lián)網(wǎng)的重要服務(wù)。開(kāi)源軟件系統(tǒng),功能強(qiáng)大,支持眾多軟件,如Webkit瀏覽器、播放器、FLASH等。高效的JAVA虛擬機(jī)Dalvik,支持JAVA,速度快。Android系統(tǒng)優(yōu)勢(shì)完全開(kāi)放的系統(tǒng),吸引越來(lái)越多的廠家和消Android系統(tǒng)劣勢(shì)版本更新快,如何保持前后兼容完全開(kāi)發(fā)的系統(tǒng),如何保持不同廠家之間兼容Android系統(tǒng)劣勢(shì)版本更新快,如何保持前后兼容Android系統(tǒng)開(kāi)發(fā)涉及三個(gè)層次:
Android系統(tǒng)移植開(kāi)發(fā)
芯片廠家會(huì)提供基于其樣板的SDK,拿到其樣板及SDK后,需要針對(duì)我司的具體硬件及產(chǎn)品業(yè)務(wù)做如下工作:fastboot移植(DDR參數(shù)/啟動(dòng)流程)、Recovery、設(shè)備驅(qū)動(dòng)、工廠菜單、媒體播放、音視頻兼容性等Android子系統(tǒng)開(kāi)發(fā)
涉及到系統(tǒng)各個(gè)層次:封裝硬件抽象層、增加C/C++本地業(yè)務(wù)庫(kù)、定義Java層所需要的類(lèi)、將本地業(yè)務(wù)庫(kù)的功能接口封裝成JNI、結(jié)合Java類(lèi)和JNI、提供應(yīng)用程序調(diào)用的Java框架類(lèi)等Android應(yīng)用程序開(kāi)發(fā)
根據(jù)具體產(chǎn)品的業(yè)務(wù)需求定制開(kāi)發(fā)特定apkeclipse環(huán)境搭建、系統(tǒng)調(diào)試(Logcat、DDMS等)Android系統(tǒng)開(kāi)發(fā)涉及三個(gè)層次:Android目錄結(jié)構(gòu)Android目錄結(jié)構(gòu)Android開(kāi)發(fā)環(huán)境搭建Android開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建
Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建
Android系統(tǒng)開(kāi)發(fā)環(huán)境Android應(yīng)用開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建Android應(yīng)用開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境要求:操作系統(tǒng):Ubuntu(版本號(hào)>=10.04)硬盤(pán)空間:10GBJDK版本:1.6(根據(jù)android版本而定)Python版本:2.4~2.7Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建Android系統(tǒng)開(kāi)發(fā)環(huán)境要求Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝依賴(lài)包: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)開(kāi)發(fā)環(huán)境搭建安裝依賴(lài)包:Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝JDK:步驟1更新安裝包$sudoapt-getupdate步驟2安裝jdk1.6$sudoapt-getinstallsun-java6-jdk用戶(hù)按提示操作即可。步驟3檢查安裝結(jié)果確認(rèn)JDK版本號(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)開(kāi)發(fā)環(huán)境搭建安裝JDK:Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝python:python工具的安裝:$sudoapt-getinstallpythonAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝python:Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝交叉編譯工具鏈(hisilicon)當(dāng)?shù)谝淮文玫胶K奸_(kāi)發(fā)包,或遇到發(fā)布包中交叉編譯工具鏈的版本更新時(shí),需重新安裝編譯工具鏈交叉編譯工具鏈:arm-hisiv200-linux在交叉工具鏈安裝包目錄下執(zhí)行命令:./cross.installAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建安裝交叉編譯工具鏈(hisilAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建編譯源碼(hisilicon)解壓海思提供的開(kāi)發(fā)包進(jìn)入解壓后的目錄,設(shè)置編譯環(huán)境/home/work/ics$sourcebuild/envsetup.sh/home/work/ics$lunchfull_godbox-eng編譯環(huán)境只需設(shè)置一次即可進(jìn)行多次編譯。但切換shell環(huán)境,則需要重新設(shè)置。編譯/home/work/ics$./mk-all.sh4(并發(fā)線程數(shù),根據(jù)服務(wù)器性能自行調(diào)整)Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建編譯源碼(hisilicon)Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建編譯后在out目錄下會(huì)生成二進(jìn)制文件:out\target\product\godbox:userdata.ics.yaffs2_xkybsystem.ics.yaffs2_xkybrecovery.imgkernelx表示NANDFLASH的頁(yè)大小pagesize(bytes為單位)y表示ECC校驗(yàn)位數(shù)目前板子配置是2k1bAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建編譯后在out目錄下會(huì)生成二進(jìn)Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
燒寫(xiě)Flash將bootable\bootloader\fastboot3.0\fastboot_burn目錄拷貝出來(lái),里面包含燒錄工具FastBoot3.1.8.exe準(zhǔn)備好tftp升級(jí)工具,并將編譯源碼中生成的文件拷貝到tftp升級(jí)工具所指向的目錄下準(zhǔn)備板子及串口線,準(zhǔn)備進(jìn)行燒錄Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
燒寫(xiě)u-bootAndroid系統(tǒng)開(kāi)發(fā)環(huán)境搭建
Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
燒寫(xiě)kernel及system等使用李鐵柱發(fā)布的tftp工具,將kernel及system、userdata、recovery等按照劃分的各個(gè)分區(qū)的Flash地址進(jìn)行燒錄。參考分區(qū)如下:Android系統(tǒng)開(kāi)發(fā)環(huán)境搭建
Android系統(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(bootarg
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)IT冷卻系統(tǒng)行業(yè)市場(chǎng)調(diào)研分析及投資戰(zhàn)略規(guī)劃報(bào)告
- 2024-2025學(xué)年高中英語(yǔ)Unit4Sharing單元加餐練新人教版選修7
- 2025年可折疊電吹風(fēng)項(xiàng)目投資可行性研究分析報(bào)告
- 2024-2025學(xué)年高中數(shù)學(xué)第三章空間向量與立體幾何3.2.1用向量方法解決平行問(wèn)題練習(xí)含解析新人教A版選修2-1
- 2024-2025學(xué)年高中地理第6章人類(lèi)與地理環(huán)境的協(xié)調(diào)發(fā)展第2節(jié)中國(guó)的可持續(xù)發(fā)展實(shí)踐練習(xí)新人教版必修2
- 2024-2025學(xué)年高中生物專(zhuān)題4酶的研究與應(yīng)用課題2探討加酶洗衣粉的洗滌效果練習(xí)含解析新人教版選修1
- 2025年光學(xué)打孔玻璃項(xiàng)目投資可行性研究分析報(bào)告
- 消毒行業(yè)五年發(fā)展洞察及發(fā)展預(yù)測(cè)分析報(bào)告
- 中國(guó)丁字褲行業(yè)投資潛力分析及行業(yè)發(fā)展趨勢(shì)報(bào)告
- 中國(guó)大型散熱器項(xiàng)目投資可行性研究報(bào)告
- 裝飾材料復(fù)試清單
- 有限公司事業(yè)合伙人管理辦法
- 工余安健環(huán)管理制度
- 某學(xué)校食堂服務(wù)投標(biāo)書(shū)
- 空調(diào)維保服務(wù)項(xiàng)目質(zhì)量保障措施
- 《馬克思主義與社會(huì)科學(xué)方法論》課后思考題答案全
- 急性心肌梗塞
- 八年級(jí)地理下期教學(xué)計(jì)劃(星球地圖版)
- 休閑農(nóng)業(yè)與鄉(xiāng)村旅游(課件)
- 藍(lán)色科技風(fēng)半導(dǎo)體產(chǎn)業(yè)PPT模板
- 院感手衛(wèi)生培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論