ANDROID培訓(xùn)-MTK安卓平臺(tái)介紹_第1頁(yè)
ANDROID培訓(xùn)-MTK安卓平臺(tái)介紹_第2頁(yè)
ANDROID培訓(xùn)-MTK安卓平臺(tái)介紹_第3頁(yè)
ANDROID培訓(xùn)-MTK安卓平臺(tái)介紹_第4頁(yè)
ANDROID培訓(xùn)-MTK安卓平臺(tái)介紹_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

MTK安卓平臺(tái)介紹編譯及工作環(huán)境android5.0以下:unbuntu10.04JDK1.6android5.0以后:unbuntu12.04Gcc4.6JDK1.7編譯及工作環(huán)境代碼管理:GIT開(kāi)發(fā)工具:Wine、sourceinsight、beyond虛擬機(jī):virtualbox-4.3〔unbuntu10.04安裝virtualbox-4.04〕編譯及工作環(huán)境系統(tǒng)要求:針對(duì)ANDROID5.0以下工程:推薦:4核8線程CPU、>=8G內(nèi)存ANDROID5.0及以上工程:推薦:8核16線程CPU、>=16G內(nèi)存、固態(tài)硬盤ANDROID系統(tǒng)架構(gòu)android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,ANDROID分為四個(gè)層,從高層到低層分別是:應(yīng)用程序?qū)討?yīng)用程序框架層系統(tǒng)運(yùn)行庫(kù)層linux核心層ANDROID系統(tǒng)架構(gòu)ANDROID系統(tǒng)架構(gòu)主要目錄:packages/appsmediatek/packages/apps主要系統(tǒng)APK:Settings、Launcher2、Gallery2、Dialer、Contacts應(yīng)用程序?qū)覣NDROID系統(tǒng)架構(gòu)目錄:frameworks/baseCore:安卓SDK中的API接口及系統(tǒng)核心的資源包〔字串,數(shù)組、動(dòng)畫(huà)、顏色等〕Data:開(kāi)關(guān)機(jī)動(dòng)畫(huà)、字體、鈴聲、鍵盤映射等Packages:主要是SystemUI狀態(tài)欄相關(guān)APK框架層ANDROID系統(tǒng)架構(gòu)policy:鎖屏、系統(tǒng)窗口相關(guān)、事件預(yù)分發(fā)、電源鍵處理等Packages:主要是SystemUI狀態(tài)欄相關(guān)APKservices:系統(tǒng)中各種關(guān)鍵效勞如:WindowManagerService、PowerManagerService、PackageManagerService、BatteryService、MountService、InputManagerService、InputMethodManagerService、ActivityManagerService、BluetoothManagerService框架層ANDROID系統(tǒng)架構(gòu)主要包括dalvik、art虛擬機(jī)、和一些開(kāi)源的代碼庫(kù)等androidruntime:frameworks/base/cmds/app_process系統(tǒng)運(yùn)行庫(kù)層ANDROID系統(tǒng)架構(gòu)需要關(guān)注的目錄:Kernel、mediatek/custom/common/kernel、mediatek/custom/leatek72_cwet_kk/kernel、mediatek/custom/mt6572/kernel局部模塊:Hardware/libhardwareLinux核心層ANDROID系統(tǒng)架構(gòu)各個(gè)驅(qū)動(dòng)模塊的編寫如:bt803、qn806、cust_tpd、LCMMTK平臺(tái)DCT工具:按鍵、中斷、GPIO等配置,見(jiàn)下頁(yè)Linux核心層ANDROID系統(tǒng)架構(gòu)Linux核心層ANDROID啟動(dòng)流程ANDROID啟動(dòng)流程Preloader->LK:啟動(dòng)檢查是否為下載模式,如果不為下載模式,進(jìn)入LK中對(duì)局部關(guān)鍵硬件初始化:時(shí)鐘、中斷、定時(shí)器、串口,以及顯示屏、FASTBOOT命令等。LK初始化完成后跳到kernel。并向kernel傳送一個(gè)啟動(dòng)命令字符串ANDROID啟動(dòng)流程Kernel:對(duì)所有硬件設(shè)備初始化,初始化完成后執(zhí)行init進(jìn)程。讀取根文件系統(tǒng)中init.rc等文件。執(zhí)行里面的命令init.rc:初始化環(huán)境變量、掛載文件系統(tǒng)、啟動(dòng)一些根本效勞如adb、播放開(kāi)機(jī)動(dòng)畫(huà)、ueventd效勞、servicemanager、netd、Vold等。之后啟動(dòng)zygote效勞ANDROID啟動(dòng)流程zygote:servicezygote/system/bin/app_process-Xzygote/system/bin--zygote--start-system-serverclassmainsocketzygotestream660rootsystem根據(jù)傳入的參數(shù)啟動(dòng)app_process。具體流程如下:ANDROID啟動(dòng)流程app_main.cpp:新建類AndroidRuntime實(shí)例:runtime,該類中可新建一個(gè)虛擬機(jī),并注冊(cè)虛擬機(jī)API調(diào)用接口參數(shù):--zygote--start-system-server:

runtime.start("ernal.os.ZygoteInit",startSystemServer?"start-system-server":"");->ZygoteInit.java:main函數(shù):注冊(cè)一個(gè)本地名為zygote的LocalServerSocket->preload默認(rèn)資源:

preloadClasses();preloadResources();preloadOpenGL();->startSystemServer->runSelectLoopANDROID啟動(dòng)流程〔應(yīng)用程序〕翻開(kāi)一個(gè)新的APK:startActivity()->中間過(guò)程略…->ActivityManagerService->Process.start->openZygoteSocketIfNeeded收到消息后:->ZygoteConnection.runOnce->pid=Zygote.forkAndSpecialize(parsedArgs.uid,parsedArgs.gid,parsedArgs.gids,parsedArgs.debugFlags,rlimits,parsedArgs.mountExternal,parsedArgs.seInfo,parsedArgs.niceName);MTK源代碼結(jié)構(gòu)見(jiàn)附目錄MTK固件編譯及固件介紹編譯整個(gè)工程:./mkleatek72_cwet_kkn編譯模塊./mkr[模塊:pl、lk、dr]打包鏡像:./mkbootimage、systemimage編譯某個(gè)APK或者庫(kù)等部件:如:./mkmmmt6572/packages/apps/Settings發(fā)布正式版本:./mk-o=TARGET_BUILD_VARIANT=usernMTK固件編譯及固件介紹preloader_leatek72_cwet_kk.binlogo.bin:LK啟動(dòng)靜態(tài)圖及充電顯示圖lk.bin:LK模塊boot.img:內(nèi)核recover

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論