Android系統(tǒng)結(jié)構(gòu)及平臺搭建講義課件_第1頁
Android系統(tǒng)結(jié)構(gòu)及平臺搭建講義課件_第2頁
Android系統(tǒng)結(jié)構(gòu)及平臺搭建講義課件_第3頁
Android系統(tǒng)結(jié)構(gòu)及平臺搭建講義課件_第4頁
Android系統(tǒng)結(jié)構(gòu)及平臺搭建講義課件_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Android系統(tǒng)結(jié)構(gòu)及平臺搭建Android系統(tǒng)結(jié)構(gòu)及平臺搭建Android系統(tǒng)結(jié)構(gòu)

Android開發(fā)環(huán)境搭建

Android啟動(dòng)流程分析Android系統(tǒng)結(jié)構(gòu)

Android開發(fā)環(huán)境搭建

AnAndroid系統(tǒng)結(jié)構(gòu)Android系統(tǒng)結(jié)構(gòu)Android系統(tǒng)結(jié)構(gòu)基于Linux的自由及開源的操作系統(tǒng)。Android操作系統(tǒng)最初由AndyRubin開發(fā)。2008年10月

第一部Android智能手機(jī)發(fā)布。2011年第1季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2012年11月,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場76%的份額,中國市場占有率為90%。2013年09月24日谷歌開發(fā)的操作系統(tǒng)Android迎來了5歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到10億臺。目前最流行的智能手機(jī)開發(fā)平臺,現(xiàn)已普及到平板電腦、游戲機(jī)、數(shù)碼相機(jī)、OTT機(jī)頂盒、智能電視等各終端產(chǎn)品。Android系統(tǒng)結(jié)構(gòu)基于Linux的自由及開源的操作系統(tǒng)。Android系統(tǒng)結(jié)構(gòu)一個(gè)好的開發(fā)平臺一定有一個(gè)成熟、穩(wěn)定的系統(tǒng)架構(gòu)來支撐Android平臺系統(tǒng)結(jié)構(gòu)從上到下分為四層:應(yīng)用層框架層系統(tǒng)運(yùn)行庫Linux內(nèi)核層Android系統(tǒng)結(jié)構(gòu)一個(gè)好的開發(fā)平臺一定有一個(gè)成熟、穩(wěn)定的Android系統(tǒng)結(jié)構(gòu)及平臺搭建講義課件Android系統(tǒng)結(jié)構(gòu)應(yīng)用層Android不僅僅是操作系統(tǒng),也包含了許多應(yīng)用程序,如SMS短信客戶端程序、電話撥號程序、圖片瀏覽器、Web瀏覽器等。用Java語言編寫,基于框架層API實(shí)現(xiàn)??杀婚_發(fā)人員開發(fā)的其他應(yīng)用程序替換。Android系統(tǒng)結(jié)構(gòu)應(yīng)用層Android系統(tǒng)結(jié)構(gòu)框架層可重用的軟件組件,簡化應(yīng)用程序的開發(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)行庫層系統(tǒng)庫:連接框架層與Linux內(nèi)核層的重要紐帶,框架層的支撐SurfaceManager:負(fù)責(zé)管理顯示與存取操間互動(dòng),負(fù)責(zé)2D與3D繪圖MediaFramework:多媒體庫,支持常用的音頻、視頻格式錄制和回放SQLite:小型的關(guān)系型數(shù)據(jù)庫引擎OpenGL|ES:根據(jù)OpenGLES1.0API標(biāo)準(zhǔn)實(shí)現(xiàn)的3D繪圖函數(shù)庫WebKit:網(wǎng)頁瀏覽器的軟件引擎SSL:在Andorid上通信過程中實(shí)現(xiàn)握手Libc:從BSD繼承的標(biāo)準(zhǔn)C系統(tǒng)庫,為基于embeddedlinux的設(shè)備定制核心庫:提供了Java語言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)行庫層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)結(jié)構(gòu)Linux內(nèi)核層Android系統(tǒng)版本發(fā)布日期版本號代號重大變化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蜂巢針對平板進(jìn)行優(yōu)化,F(xiàn)ragment2011.104.0IceCreamSandwich冰激凌三明治全新UI2012.64.1JellyBean果凍豆

2012.104.2JellyBean果凍豆支持Miracast無線顯示共享功能待定4.4KitKat奇巧巧克力

Android系統(tǒng)版本發(fā)布日期版本號代號重大變化2008.9Android系統(tǒng)優(yōu)勢完全開放的系統(tǒng),吸引越來越多的廠家和消費(fèi)者,將催生眾多硬件支持和程序選擇無縫結(jié)合Google應(yīng)用,如Google地圖、郵件、搜索等互聯(lián)網(wǎng)的重要服務(wù)。開源軟件系統(tǒng),功能強(qiáng)大,支持眾多軟件,如Webkit瀏覽器、播放器、FLASH等。高效的JAVA虛擬機(jī)Dalvik,支持JAVA,速度快。Android系統(tǒng)優(yōu)勢完全開放的系統(tǒng),吸引越來越多的廠家和消Android系統(tǒng)劣勢版本更新快,如何保持前后兼容完全開發(fā)的系統(tǒng),如何保持不同廠家之間兼容Android系統(tǒng)劣勢版本更新快,如何保持前后兼容Android系統(tǒng)開發(fā)涉及三個(gè)層次:

Android系統(tǒng)移植開發(fā)

芯片廠家會提供基于其樣板的SDK,拿到其樣板及SDK后,需要針對我司的具體硬件及產(chǎn)品業(yè)務(wù)做如下工作:fastboot移植(DDR參數(shù)/啟動(dòng)流程)、Recovery、設(shè)備驅(qū)動(dòng)、工廠菜單、媒體播放、音視頻兼容性等Android子系統(tǒng)開發(fā)

涉及到系統(tǒng)各個(gè)層次:封裝硬件抽象層、增加C/C++本地業(yè)務(wù)庫、定義Java層所需要的類、將本地業(yè)務(wù)庫的功能接口封裝成JNI、結(jié)合Java類和JNI、提供應(yīng)用程序調(diào)用的Java框架類等Android應(yīng)用程序開發(fā)

根據(jù)具體產(chǎn)品的業(yè)務(wù)需求定制開發(fā)特定apkeclipse環(huán)境搭建、系統(tǒng)調(diào)試(Logcat、DDMS等)Android系統(tǒng)開發(fā)涉及三個(gè)層次:Android目錄結(jié)構(gòu)Android目錄結(jié)構(gòu)Android開發(fā)環(huán)境搭建Android開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建

Android系統(tǒng)開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建

Android系統(tǒng)開發(fā)環(huán)境Android應(yīng)用開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境要求:操作系統(tǒng):Ubuntu(版本號>=10.04)硬盤空間:10GBJDK版本:1.6(根據(jù)android版本而定)Python版本:2.4~2.7Android系統(tǒng)開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境要求Android系統(tǒng)開發(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)開發(fā)環(huán)境搭建安裝依賴包:Android系統(tǒng)開發(fā)環(huán)境搭建安裝JDK:步驟1更新安裝包$sudoapt-getupdate步驟2安裝jdk1.6$sudoapt-getinstallsun-java6-jdk用戶按提示操作即可。步驟3檢查安裝結(jié)果確認(rèn)JDK版本號正確$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)開發(fā)環(huán)境搭建安裝JDK:Android系統(tǒng)開發(fā)環(huán)境搭建安裝python:python工具的安裝:$sudoapt-getinstallpythonAndroid系統(tǒng)開發(fā)環(huán)境搭建安裝python:Android系統(tǒng)開發(fā)環(huán)境搭建安裝交叉編譯工具鏈(hisilicon)當(dāng)?shù)谝淮文玫胶K奸_發(fā)包,或遇到發(fā)布包中交叉編譯工具鏈的版本更新時(shí),需重新安裝編譯工具鏈交叉編譯工具鏈:arm-hisiv200-linux在交叉工具鏈安裝包目錄下執(zhí)行命令:./cross.installAndroid系統(tǒng)開發(fā)環(huán)境搭建安裝交叉編譯工具鏈(hisilAndroid系統(tǒng)開發(fā)環(huán)境搭建編譯源碼(hisilicon)解壓海思提供的開發(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)開發(fā)環(huán)境搭建編譯源碼(hisilicon)Android系統(tǒng)開發(fā)環(huán)境搭建編譯后在out目錄下會生成二進(jìn)制文件:out\target\product\godbox:userdata.ics.yaffs2_xkybsystem.ics.yaffs2_xkybrecovery.imgkernelx表示NANDFLASH的頁大小pagesize(bytes為單位)y表示ECC校驗(yàn)位數(shù)目前板子配置是2k1bAndroid系統(tǒng)開發(fā)環(huán)境搭建編譯后在out目錄下會生成二進(jìn)Android系統(tǒng)開發(fā)環(huán)境搭建

燒寫Flash將bootable\bootloader\fastboot3.0\fastboot_burn目錄拷貝出來,里面包含燒錄工具FastBoot3.1.8.exe準(zhǔn)備好tftp升級工具,并將編譯源碼中生成的文件拷貝到tftp升級工具所指向的目錄下準(zhǔn)備板子及串口線,準(zhǔn)備進(jìn)行燒錄Android系統(tǒng)開發(fā)環(huán)境搭建

Android系統(tǒng)開發(fā)環(huán)境搭建

燒寫u-bootAndroid系統(tǒng)開發(fā)環(huán)境搭建

Android系統(tǒng)開發(fā)環(huán)境搭建

燒寫kernel及system等使用李鐵柱發(fā)布的tftp工具,將kernel及system、userdata、recovery等按照劃分的各個(gè)分區(qū)的Flash地址進(jìn)行燒錄。參考分區(qū)如下:Android系統(tǒng)開發(fā)環(huán)境搭建

Android系統(tǒng)開發(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)開發(fā)環(huán)境搭建

Android開發(fā)環(huán)境搭建至此,Android開發(fā)環(huán)境搭建成功。參考文檔:Android開發(fā)環(huán)境搭建至此,Android開發(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)的用戶級進(jìn)程。內(nèi)核啟動(dòng)后,啟動(dòng)一個(gè)用戶級程序init的方式,完成引導(dǎo)進(jìn)程。init始終是第一個(gè)進(jìn)程.Init進(jìn)程起來后根據(jù)init.rc和init.xxx.rc腳本文件建立了幾個(gè)基本的服務(wù):

servicemanamgerzygote。。。Android啟動(dòng)流程

Android啟動(dòng)流程

第二步

ZygoteServicemanager和zygote進(jìn)程奠定了Android的基礎(chǔ)。Zygote起來后會建立起真正的Android運(yùn)行空間。Zygote就建立后,利用Socket通訊,接收ActivityManangerService的請求,F(xiàn)ork應(yīng)用程序。Android啟動(dòng)流程

Android啟動(dòng)流程

第三步

SystemServerZygote進(jìn)程啟動(dòng)后會fork一個(gè)進(jìn)程SystemServer。Android的所有服務(wù)循環(huán)框架都是建立SystemServer上。SystemServer會建立很多服務(wù),并將服務(wù)添加到ServiceManager中進(jìn)行統(tǒng)一管理。Android啟動(dòng)流程

Android啟動(dòng)流程

第四步

Launcher啟動(dòng)在SystemServer啟動(dòng)完所有的Android服務(wù)后,會通知各個(gè)服務(wù),系統(tǒng)已經(jīng)就緒。Launcher就是在ActivityManagerService接收到通知后建立的。Android啟動(dòng)流程

實(shí)例演示Hi3716C盒子啟動(dòng)流程及Init.rc分析實(shí)例演示

Android系統(tǒng)結(jié)構(gòu)及平臺搭建Android系統(tǒng)結(jié)構(gòu)及平臺搭建Android系統(tǒng)結(jié)構(gòu)

Android開發(fā)環(huán)境搭建

Android啟動(dòng)流程分析Android系統(tǒng)結(jié)構(gòu)

Android開發(fā)環(huán)境搭建

AnAndroid系統(tǒng)結(jié)構(gòu)Android系統(tǒng)結(jié)構(gòu)Android系統(tǒng)結(jié)構(gòu)基于Linux的自由及開源的操作系統(tǒng)。Android操作系統(tǒng)最初由AndyRubin開發(fā)。2008年10月

第一部Android智能手機(jī)發(fā)布。2011年第1季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2012年11月,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場76%的份額,中國市場占有率為90%。2013年09月24日谷歌開發(fā)的操作系統(tǒng)Android迎來了5歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到10億臺。目前最流行的智能手機(jī)開發(fā)平臺,現(xiàn)已普及到平板電腦、游戲機(jī)、數(shù)碼相機(jī)、OTT機(jī)頂盒、智能電視等各終端產(chǎn)品。Android系統(tǒng)結(jié)構(gòu)基于Linux的自由及開源的操作系統(tǒng)。Android系統(tǒng)結(jié)構(gòu)一個(gè)好的開發(fā)平臺一定有一個(gè)成熟、穩(wěn)定的系統(tǒng)架構(gòu)來支撐Android平臺系統(tǒng)結(jié)構(gòu)從上到下分為四層:應(yīng)用層框架層系統(tǒng)運(yùn)行庫Linux內(nèi)核層Android系統(tǒng)結(jié)構(gòu)一個(gè)好的開發(fā)平臺一定有一個(gè)成熟、穩(wěn)定的Android系統(tǒng)結(jié)構(gòu)及平臺搭建講義課件Android系統(tǒng)結(jié)構(gòu)應(yīng)用層Android不僅僅是操作系統(tǒng),也包含了許多應(yīng)用程序,如SMS短信客戶端程序、電話撥號程序、圖片瀏覽器、Web瀏覽器等。用Java語言編寫,基于框架層API實(shí)現(xiàn)??杀婚_發(fā)人員開發(fā)的其他應(yīng)用程序替換。Android系統(tǒng)結(jié)構(gòu)應(yīng)用層Android系統(tǒng)結(jié)構(gòu)框架層可重用的軟件組件,簡化應(yīng)用程序的開發(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)行庫層系統(tǒng)庫:連接框架層與Linux內(nèi)核層的重要紐帶,框架層的支撐SurfaceManager:負(fù)責(zé)管理顯示與存取操間互動(dòng),負(fù)責(zé)2D與3D繪圖MediaFramework:多媒體庫,支持常用的音頻、視頻格式錄制和回放SQLite:小型的關(guān)系型數(shù)據(jù)庫引擎OpenGL|ES:根據(jù)OpenGLES1.0API標(biāo)準(zhǔn)實(shí)現(xiàn)的3D繪圖函數(shù)庫WebKit:網(wǎng)頁瀏覽器的軟件引擎SSL:在Andorid上通信過程中實(shí)現(xiàn)握手Libc:從BSD繼承的標(biāo)準(zhǔn)C系統(tǒng)庫,為基于embeddedlinux的設(shè)備定制核心庫:提供了Java語言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)行庫層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)結(jié)構(gòu)Linux內(nèi)核層Android系統(tǒng)版本發(fā)布日期版本號代號重大變化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蜂巢針對平板進(jìn)行優(yōu)化,F(xiàn)ragment2011.104.0IceCreamSandwich冰激凌三明治全新UI2012.64.1JellyBean果凍豆

2012.104.2JellyBean果凍豆支持Miracast無線顯示共享功能待定4.4KitKat奇巧巧克力

Android系統(tǒng)版本發(fā)布日期版本號代號重大變化2008.9Android系統(tǒng)優(yōu)勢完全開放的系統(tǒng),吸引越來越多的廠家和消費(fèi)者,將催生眾多硬件支持和程序選擇無縫結(jié)合Google應(yīng)用,如Google地圖、郵件、搜索等互聯(lián)網(wǎng)的重要服務(wù)。開源軟件系統(tǒng),功能強(qiáng)大,支持眾多軟件,如Webkit瀏覽器、播放器、FLASH等。高效的JAVA虛擬機(jī)Dalvik,支持JAVA,速度快。Android系統(tǒng)優(yōu)勢完全開放的系統(tǒng),吸引越來越多的廠家和消Android系統(tǒng)劣勢版本更新快,如何保持前后兼容完全開發(fā)的系統(tǒng),如何保持不同廠家之間兼容Android系統(tǒng)劣勢版本更新快,如何保持前后兼容Android系統(tǒng)開發(fā)涉及三個(gè)層次:

Android系統(tǒng)移植開發(fā)

芯片廠家會提供基于其樣板的SDK,拿到其樣板及SDK后,需要針對我司的具體硬件及產(chǎn)品業(yè)務(wù)做如下工作:fastboot移植(DDR參數(shù)/啟動(dòng)流程)、Recovery、設(shè)備驅(qū)動(dòng)、工廠菜單、媒體播放、音視頻兼容性等Android子系統(tǒng)開發(fā)

涉及到系統(tǒng)各個(gè)層次:封裝硬件抽象層、增加C/C++本地業(yè)務(wù)庫、定義Java層所需要的類、將本地業(yè)務(wù)庫的功能接口封裝成JNI、結(jié)合Java類和JNI、提供應(yīng)用程序調(diào)用的Java框架類等Android應(yīng)用程序開發(fā)

根據(jù)具體產(chǎn)品的業(yè)務(wù)需求定制開發(fā)特定apkeclipse環(huán)境搭建、系統(tǒng)調(diào)試(Logcat、DDMS等)Android系統(tǒng)開發(fā)涉及三個(gè)層次:Android目錄結(jié)構(gòu)Android目錄結(jié)構(gòu)Android開發(fā)環(huán)境搭建Android開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建

Android系統(tǒng)開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建

Android系統(tǒng)開發(fā)環(huán)境Android應(yīng)用開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建Android應(yīng)用開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境要求:操作系統(tǒng):Ubuntu(版本號>=10.04)硬盤空間:10GBJDK版本:1.6(根據(jù)android版本而定)Python版本:2.4~2.7Android系統(tǒng)開發(fā)環(huán)境搭建Android系統(tǒng)開發(fā)環(huán)境要求Android系統(tǒng)開發(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)開發(fā)環(huán)境搭建安裝依賴包:Android系統(tǒng)開發(fā)環(huán)境搭建安裝JDK:步驟1更新安裝包$sudoapt-getupdate步驟2安裝jdk1.6$sudoapt-getinstallsun-java6-jdk用戶按提示操作即可。步驟3檢查安裝結(jié)果確認(rèn)JDK版本號正確$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)開發(fā)環(huán)境搭建安裝JDK:Android系統(tǒng)開發(fā)環(huán)境搭建安裝python:python工具的安裝:$sudoapt-getinstallpythonAndroid系統(tǒng)開發(fā)環(huán)境搭建安裝python:Android系統(tǒng)開發(fā)環(huán)境搭建安裝交叉編譯工具鏈(hisilicon)當(dāng)?shù)谝淮文玫胶K奸_發(fā)包,或遇到發(fā)布包中交叉編譯工具鏈的版本更新時(shí),需重新安裝編譯工具鏈交叉編譯工具鏈:arm-hisiv200-linux在交叉工具鏈安裝包目錄下執(zhí)行命令:./cross.installAndroid系統(tǒng)開發(fā)環(huán)境搭建安裝交叉編譯工具鏈(hisilAndroid系統(tǒng)開發(fā)環(huán)境搭建編譯源碼(hisilicon)解壓海思提供的開發(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)開發(fā)環(huán)境搭建編譯源碼(hisilicon)Android系統(tǒng)開發(fā)環(huán)境搭建編譯后在out目錄下會生成二進(jìn)制文件:out\target\product\godbox:userdata.ics.yaffs2_xkybsystem.ics.yaffs2_xkybrecovery.imgkernelx表示NANDFLASH的頁大小pagesize(bytes為單位)y表示ECC校驗(yàn)位數(shù)目前板子配置是2k1bAndroid系統(tǒng)開發(fā)環(huán)境搭建編譯后在out目錄下會生成二進(jìn)Android系統(tǒng)開發(fā)環(huán)境搭建

燒寫Flash將bootable\bootloader\fastboot3.0\fastboot_burn目錄拷貝出來,里面包含燒錄工具FastBoot3.1.8.exe準(zhǔn)備好tftp升級工具,并將編譯源碼中生成的文件拷貝到tftp升級工具所指向的目錄下準(zhǔn)備板子及串口線,準(zhǔn)備進(jìn)行燒錄Android系統(tǒng)開發(fā)環(huán)境搭建

Android系統(tǒng)開發(fā)環(huán)境搭建

燒寫u-bootAndroid系統(tǒng)開發(fā)環(huán)境搭建

Android系統(tǒng)開發(fā)環(huán)境搭建

燒寫kernel及system等使用李鐵柱發(fā)布的tftp工具,將kernel及system、userdata、recovery等按照劃分的各個(gè)分區(qū)的Flash地址進(jìn)行燒錄。參考分區(qū)如下:Android系統(tǒng)開發(fā)環(huán)境搭建

Android系統(tǒng)開發(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論