Android系統架構、開發環境搭建及啟動流程分析解析課件_第1頁
Android系統架構、開發環境搭建及啟動流程分析解析課件_第2頁
Android系統架構、開發環境搭建及啟動流程分析解析課件_第3頁
Android系統架構、開發環境搭建及啟動流程分析解析課件_第4頁
Android系統架構、開發環境搭建及啟動流程分析解析課件_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 Android系統結構及平臺搭建 Android系統結構及平臺搭建Android系統結構Android開發環境搭建Android啟動流程分析Android系統結構Android開發環境搭建AnAndroid系統結構Android系統結構Android系統結構基于Linux的自由及開源的操作系統。Android操作系統最初由Andy Rubin開發。2008年10月 第一部Android智能手機發布。2011年第1季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2012年11月,Android占據全球智能手機操作系統市場76%的份額,中國市場占有率為90%。2013年09

2、月24日谷歌開發的操作系統Android迎來了5歲生日,全世界采用這款系統的設備數量已經達到10億臺。目前最流行的智能手機開發平臺,現已普及到平板電腦、游戲機、數碼相機、OTT機頂盒、智能電視等各終端產品。Android系統結構基于Linux的自由及開源的操作系統。Android系統結構一個好的開發平臺一定有一個成熟、穩定的系統架構來支撐Android平臺系統結構從上到下分為四層:應用層框架層系統運行庫Linux內核層Android系統結構一個好的開發平臺一定有一個成熟、穩定的Android系統架構、開發環境搭建及啟動流程分析解析課件Android系統結構應用層Android不僅僅是操作系統,

3、也包含了許多應用程序,如SMS短信客戶端程序、電話撥號程序、圖片瀏覽器、Web瀏覽器等。用Java語言編寫,基于框架層API實現。可被開發人員開發的其他應用程序替換。Android系統結構應用層Android系統結構框架層可重用的軟件組件,簡化應用程序的開發,向應用提供API。Activity Manager(活動管理器)管理各個應用程序生命周期以及通常的導航回退功能Window Manager(窗口管理器)管理所有的窗口程序Content Provider(內容提供器)使得不同應用程序之間存取或者分享數據 View System(視圖系統)構建應用程序的基本組件 Notification M

4、anager(通告管理器) 使應用程序可以在狀態欄中顯示自定義的提示信息Package Manager(包管理器) Android系統內的程序管理Resource Manager(資源管理器)提供應用程序使用的各種非代碼資源,如本地化字符串、圖片、布局文件、顏色文件等Android系統結構框架層Android系統結構系統運行庫層系統庫:連接框架層與Linux內核層的重要紐帶,框架層的支撐Surface Manager:負責管理顯示與存取操間互動,負責2D與3D繪圖Media Framework:多媒體庫,支持常用的音頻、視頻格式錄制和回放SQLite: 小型的關系型數據庫引擎 OpenGL|E

5、S:根據OpenGL ES 1.0API標準實現的3D繪圖函數庫 WebKit:網頁瀏覽器的軟件引擎SSL:在Andorid上通信過程中實現握手 Libc:從BSD繼承的標準C系統庫,為基于embedded linux的設備定制核心庫:提供了Java語言API中的大多數功能,同時也包含了Android的一些核心API,如android.os、android.media等等。Dalvik虛擬機:一種基于寄存器的Java虛擬機,而不是傳統的基于棧的虛擬機。每個Android程序都有一個Dalivik虛擬機的實例,并在該實例中執行。Dalvik虛擬機進行了內存資源使用的優化,執行.dex文件Andr

6、oid系統結構系統運行庫層Android系統結構Linux內核層Android是基于Linux2.6內核,其核心系統服務如安全性、內存管理、進程管理、網路協議以及驅動模型都依賴于Linux內核。除Linux標準驅動外,需要一些專有驅動,如Binder、Log、Ashmem等Android系統結構Linux內核層Android系統版本發布日期版本號代號重大變化2008.91.12009.41.5Cupcake 紙杯蛋糕屏幕虛擬鍵盤2009.91.6Donut 甜甜圈2009.102.0/.1Eclair 松餅動態桌面、HTML52010.52.2/2.2.1Froyo 凍酸奶3G網絡、Flash

7、支持2010.122.3/2.4Gingerbread 姜餅NFC2011.23.0/3.1/3.2Honeycomb 蜂巢針對平板進行優化,Fragment2011.104.0Ice Cream Sandwich冰激凌三明治全新UI2012.64.1Jelly Bean果凍豆2012.104.2Jelly Bean 果凍豆支持Miracast無線顯示共享功能待定4.4Kit Kat 奇巧巧克力Android系統版本發布日期版本號代號重大變化2008.9Android系統優勢完全開放的系統,吸引越來越多的廠家和消費者,將催生眾多硬件支持和程序選擇無縫結合Google應用,如Google地圖、郵

8、件、搜索等互聯網的重要服務。開源軟件系統,功能強大,支持眾多軟件,如Webkit瀏覽器、播放器、FLASH等。高效的JAVA虛擬機Dalvik,支持JAVA,速度快。Android系統優勢完全開放的系統,吸引越來越多的廠家和消Android系統劣勢 版本更新快,如何保持前后兼容 完全開發的系統,如何保持不同廠家之間兼容Android系統劣勢 版本更新快,如何保持前后兼容Android系統開發涉及三個層次: Android系統移植開發 芯片廠家會提供基于其樣板的SDK,拿到其樣板及SDK后,需要針對我司的具體硬件及產品業務做如下工作:fastboot移植(DDR參數/啟動流程)、Recovery

9、、設備驅動、工廠菜單、媒體播放、音視頻兼容性等 Android子系統開發 涉及到系統各個層次:封裝硬件抽象層、增加C/C+本地業務庫、定義Java層所需要的類、將本地業務庫的功能接口封裝成JNI、結合Java類和JNI、提供應用程序調用的Java框架類等 Android應用程序開發 根據具體產品的業務需求定制開發特定apk eclipse環境搭建、系統調試(Logcat、DDMS等)Android系統開發涉及三個層次:Android目錄結構Android目錄結構Android開發環境搭建Android開發環境搭建Android應用開發環境搭建Android系統開發環境搭建Android應用開發

10、環境搭建Android系統開發環境Android應用開發環境搭建Android應用開發環境搭建Android應用開發環境搭建 JDK安裝 /downloads/下載最新jdk并安裝 Eclipse安裝 /downloads下載最新eclipse并安裝,亦可拷貝已經安裝好的eclipse使用 Android SDK安裝 /downloads下載Android SDK,直接解壓運行SDK Setup.exe,點擊Available Packages。如沒出現可安裝包,點擊Settings,選中Misc中的“Force https:/.”這項,再點擊Available Packages。選擇希望安裝

11、的SDK及其文檔或其它包,開始下載安裝所選包。 國內已屏蔽了Android,下載經常失敗,可拷貝已經安裝好的直接使用 ADT安裝 打開 Eclipse IDE,進入菜單中的 “Help” - “Install New Software”,點擊Add.按鈕,彈出對話框要求輸入Name和Location:Name自己取,Location輸入/android/eclipse。確定返回后,勾選DDMS、Development Tool,安裝。完成后選擇Window Preferences.在左邊的面板選擇Android,然后在右側點擊Browse.并選中SDK路徑 可選擇已經安裝好的同事拷貝使用 創建

12、AVD 為使Android應用程序可以在模擬器上運行,必須創建AVD。在Eclipse中。選擇Windows Android SDK and AVD Manager進行創建Android應用開發環境搭建 JDK安裝Android系統開發環境搭建Android系統開發環境搭建Android系統開發環境搭建Android系統開發環境要求:操作系統:Ubuntu(版本號=10.04) 硬盤空間:10GB JDK 版本:1.6(根據android版本而定)Python 版本:2.42.7 Android系統開發環境搭建Android系統開發環境要求Android系統開發環境搭建安裝依賴包:64位機器:

13、 $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g+-multilib mingw32 tofrodos 32位機器: $ sudo apt-get install git-core gnupg flex bison gperf buil

14、d-essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev tofrodos Android系統開發環境搭建安裝依賴包:Android系統開發環境搭建安裝JDK:步驟 1 更新安裝包 $ sudo apt-get update 步驟 2 安裝 jdk 1.6 $ sudo apt-get install sun-java6-jdk 用戶按提示操作即可。 步驟 3 檢查安裝結果 確認JDK 版本號正確 $ java -version java vers

15、ion 1.6.0_26 Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) Android系統開發環境搭建安裝JDK:Android系統開發環境搭建安裝python:python工具的安裝: $ sudo apt-get install python Android系統開發環境搭建安裝python:Android系統開發環境搭建安裝交叉編譯工具鏈(hisilicon) 當第一次拿到海思開發包,或遇到發布包中交叉編譯

16、工具鏈的版本更新時,需重新安裝編譯工具鏈交叉編譯工具鏈:arm-hisiv200-linux 在交叉工具鏈安裝包目錄下執行命令:./cross.install Android系統開發環境搭建安裝交叉編譯工具鏈(hisilAndroid系統開發環境搭建編譯源碼(hisilicon)解壓海思提供的開發包進入解壓后的目錄,設置編譯環境 /home/work/ics $ source build/envsetup.sh /home/work/ics $ lunch full_godbox-eng 編譯環境只需設置一次即可進行多次編譯。但切換 shell 環境,則需要重新設置。編譯 /home/work

17、/ics $ ./mk-all.sh 4(并發線程數,根據服務器性能自行調整)Android系統開發環境搭建編譯源碼(hisilicon)Android系統開發環境搭建編譯后在out目錄下會生成二進制文件: outtargetproductgodbox: userdata.ics.yaffs2_xkyb system.ics.yaffs2_xkyb recovery.img kernel x 表示NAND FLASH的頁大小page size (bytes為單位) y 表示ECC 校驗位數 目前板子配置是2k1bAndroid系統開發環境搭建編譯后在out目錄下會生成二進Android系統開發

18、環境搭建 燒寫Flash將bootablebootloaderfastboot3.0fastboot_burn目錄拷貝出來,里面包含燒錄工具FastBoot3.1.8.exe準備好tftp升級工具,并將編譯源碼中生成的文件拷貝到tftp升級工具所指向的目錄下準備板子及串口線,準備進行燒錄Android系統開發環境搭建 Android系統開發環境搭建 燒寫u-bootAndroid系統開發環境搭建 Android系統開發環境搭建 燒寫kernel及system等使用李鐵柱發布的tftp工具,將kernel及system、userdata、recovery等按照劃分的各個分區的Flash地址進行燒

19、錄。參考分區如下:Android系統開發環境搭建 Android系統開發環境搭建 配置bootargs進入u-boot,在串口下輸入如下命令:set bootcmd nand read 82000000 2e00000 a00000; bootm 0 x82000000set appargs mem=764M vmalloc=600M console=ttyAMA0,115200 mtddev=blackbox androidboot.console=ttyAMA0 mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(envback),512

20、K(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)set recoverybootargs mem=808M console=ttyAMA0,115200 mtdparts=hinand:1024K(fastboot),512K(bootargs),512K(en

21、vback),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燒錄成功,重啟機頂盒即可啟動Android系統開發環境搭建 Android開發環境搭建至此,Android開發環境搭建成功。參考文檔:Android開發環境搭建至此,Android開發環境搭建成Android系統啟動流程分析Android系統啟動流程分析Android啟動流程分析Android啟動流程分析Android啟動流程Android從Linux系統啟動有4個步驟;Init進程啟動Native服務啟動System Se

溫馨提示

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

評論

0/150

提交評論