《Android操作系統(tǒng)與應(yīng)用開發(fā)》課件第1章_第1頁
《Android操作系統(tǒng)與應(yīng)用開發(fā)》課件第1章_第2頁
《Android操作系統(tǒng)與應(yīng)用開發(fā)》課件第1章_第3頁
《Android操作系統(tǒng)與應(yīng)用開發(fā)》課件第1章_第4頁
《Android操作系統(tǒng)與應(yīng)用開發(fā)》課件第1章_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章Android基礎(chǔ)1.1

Android的前景1.2

Android操作系統(tǒng)的架構(gòu)1.3

Android開源知識1.4

Android學(xué)習(xí)資源

1.1Android的前景

Android各個版本名稱及其發(fā)布時間如表1.1所示。據(jù)相關(guān)數(shù)據(jù)統(tǒng)計顯示:目前熱招的Android技術(shù)相關(guān)崗位約有3882個,而一個月內(nèi)的有效崗位量為2298個,主要的熱招職位包括:Android軟件工程師、Android應(yīng)用開發(fā)工程師、Android操作系統(tǒng)驅(qū)動工程師、Android手機(jī)游戲開發(fā)人員、Android操作系統(tǒng)軟件開發(fā)人員、Android游戲應(yīng)用版本管理人員、人機(jī)交互分析工程師、Android中間層開發(fā)工程師等。

1.2Android操作系統(tǒng)的架構(gòu)

Android操作系統(tǒng)可分為應(yīng)用層(Applications)、應(yīng)用框架層(ApplicationFramework)、系統(tǒng)運行庫層(Libraries)和Linux內(nèi)核層(LinuxKernel)四層,如圖1.1所示。圖1.1Android系統(tǒng)架構(gòu)圖

1.應(yīng)用層

應(yīng)用層是采用Java語言編寫的運行在虛擬機(jī)上的程序。應(yīng)用層主要是一些面向用戶的圖形化界面的應(yīng)用程序,這些應(yīng)用程序中還包含一些和它們相關(guān)的資源文件。應(yīng)用程序的

主程序和相關(guān)的資源文件經(jīng)過編譯后會生成一個后綴為apk的包。

2.應(yīng)用框架層

從圖1.1中可以看出,Android操作系統(tǒng)在應(yīng)用框架層提供了一些組件,這些組件的名稱和功能如表1.2所示。

3.系統(tǒng)運行庫層

系統(tǒng)運行庫可以是C/C++庫或Android運行庫。當(dāng)使用Android應(yīng)用框架時,Android操作系統(tǒng)會通過一些C/C++庫來支持所使用的各個組件,這些庫的名稱及其功能如表1.3所示。

4.Linux內(nèi)核層

目前,Android內(nèi)核的最新開發(fā)版本是2.6.31,它是一個增強(qiáng)型的內(nèi)核版本,除了修改部分Bug外,還提供了用于支持Android平臺的設(shè)備驅(qū)動和系統(tǒng)功能,其核心驅(qū)動和功能如表1.4所示。

(1)使用Git工具下載Android內(nèi)核goldfish分支源碼:

mkdir~/kernel

cd~/kernel

gitclone/kernel/goldfish.git

(2)默認(rèn)情況下,源代碼下載完成后是隱藏的,可以使用“l(fā)s-a”或者“l(fā)a”命令查看;使用“gitbranch-a”命令可以查看該分支包含的版本信息。這里我們提取出“android-goldfish-2.6.39”的內(nèi)核版本,輸入如下命令:

gitcheckout-bandroid-goldfish-2.6.39origin/android-goldfish.2.6.39

(3)此時使用“l(fā)s”命令即可查看Android內(nèi)核目錄,如圖1.2所示。圖1.2內(nèi)核目錄

Android是基于Linux內(nèi)核的操作系統(tǒng),所以對于一個新的設(shè)備,需要先編譯一個支持Android的Kernel,即除了需要移植前面提到的驅(qū)動之外,還需配置Kernel來支持Android平臺,這里可以參考Goldfish(模擬器CPU)的內(nèi)核配置文件,首先輸入“cparch/arm/configs/goldfish_defconfig

.config”將內(nèi)核配置文件復(fù)制到內(nèi)核根目錄下并修改文件名為“.config”,然后輸入“makemenuconfig”顯示內(nèi)核配置界面,如圖1.3所示。圖1.3內(nèi)核配置界面以編譯模擬器的內(nèi)核為例,操作過程如下:

(1)修改內(nèi)核根目錄下的Makefile文件,修改“CROSS_COMPILE”的值為“arm-eabi-”,修改“LDFLAGS_BUILD_ID”的值為空。

(2)使用如下命令設(shè)置交叉編譯工具的路徑(如果沒有交叉編譯工具包,則使用“gitclonehttps://android.google-

/platform/prebuilt”命令下載):

exportPATH=$PATH:交叉編譯工具的路徑

(3)設(shè)置環(huán)境變量:

exportARCH=arm

exportSUBARCH=arm

exportCROSS_COMPILE=arm-eabi-

(4)編譯內(nèi)核:

make-jX

其中X表示處理器的線程數(shù),用來加快編譯速度。

編譯完成后會在arch/arm/boot/文件夾里面生成zImage文件,這就是編譯生成的內(nèi)核鏡像文件,如圖1.4所示。圖1.4編譯生成zImage文件

1.3Android開源知識

Google公司提供的Android手機(jī)開發(fā)平臺包含了原始Android的目標(biāo)機(jī)代碼、主機(jī)編譯工具和仿真環(huán)境,系統(tǒng)源碼下載完成之后,第一級別的目錄和文件如圖1.5所示,其中的各個目錄和文件的功能如表1.5所示。圖1.5Android系統(tǒng)源碼第一級別的目錄和文件

Android代碼的工程分為以下三個部分:

(1)核心工程(CoreProject)。

(2)擴(kuò)展工程(ExternalProject)。

(3)包(Package)。

1.4Android學(xué)習(xí)資源

由于Android技術(shù)的快速發(fā)展,本書無法涵蓋所有內(nèi)容,所以除了參考本書和AndroidSDK文檔外,還可以參考以下資源:

(1)?Androideoe開發(fā)者門戶:。

(2)?AndroidGoogleGroupsAndroid官方援助社區(qū):/group/android-developers。

(3)?Android教程和編程論壇:。(4)?Android官方網(wǎng)站:/。

(5)?OpenHandsetAlliance:/。

(6)?GoogleAndroid開發(fā)者博客:/。

(7)?Android開發(fā)者大賽網(wǎng)站:/android/adc

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論