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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

preloadClasses();preloadResources();preloadOpenGL();->startSystemServer->runSelectLoopANDROID啟動流程〔應用程序〕翻開一個新的APK:startActivity()->中間過程略…->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源代碼結構見附目錄MTK固件編譯及固件介紹編譯整個工程:./mkleatek72_cwet_kkn編譯模塊./mkr[模塊:pl、lk、dr]打包鏡像:./mkbootimage、systemimage編譯某個APK或者庫等部件:如:./mkmmmt6572/packages/apps/Settings發(fā)布正式版本:./mk-o=TARGET_BUILD_VARIANT=usernMTK固件編譯及固件介紹preloader_leatek72_cwet_kk.binlogo.bin:LK啟動靜態(tài)圖及充電顯示圖lk.bin:LK模塊boot.img:內核recover

溫馨提示

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

評論

0/150

提交評論