




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Andorid開發(fā)綜述主講:王義全1、Android的框架結(jié)構(gòu)
2、開發(fā)調(diào)試應(yīng)用程序和軟件發(fā)布
3、Android運(yùn)行要求的嵌入式系統(tǒng)特點(diǎn)以及主流平臺
4、Android內(nèi)核特點(diǎn)與移植
5、AndroidLCD驅(qū)動開發(fā)
6、增強(qiáng)android的電源管理
Android的框架結(jié)構(gòu)1.1Android簡介Android——本義”機(jī)器人”Android——開源手機(jī)平臺2007.11.5,Google宣布基于Linux操作系統(tǒng)的手機(jī)軟件平臺--AndroidAndroid授權(quán)協(xié)議——ASL(ApacheSoftwareLicense)v2.0Android平臺語言——主要Java,c/c++Android與OHA(OpenHandsetAlliance)Google聯(lián)合世界上多家知名廠商(芯片供應(yīng)商,軟硬件供應(yīng)商,電信營運(yùn)商)成立開放手機(jī)聯(lián)盟,其成員都會基于Android平臺,開發(fā)新的手機(jī)產(chǎn)品和業(yè)務(wù).Android的框架結(jié)構(gòu)Android框架組成LinuxKernel
HAL
ExternalLib
AndroidRuntime
Framework
App
Android框架組成LinuxKernelAndroid/Linux,notGNU/LinuxLinuxkernel2.6.25—2.6.28+patchesPatches:ashmem,binder,powermanager,lowmemorykiller,kerneldebugger,logger,usbfunctiondriver(ADB…)Source:HardwareAbstractionLibraryAndroidinterfacetohardwareSupportsdriverswithoutstandardAPIs(e.g.vibrator)RIL,Camera,GPS,Wifi,Audio,Lights,Sensors……ExternalLibbionic——CLibrarySurfacemanagerOpenGLSQLiteWebKitFreeTypeICU4C……AndroidRuntimeDalvikCorelibraryFramework--Services
ActivitymanagerTelephonymanagerWindowManagerPowerManagerResourcemanagerNotificationManager……ApplicationsHomePhoneSMS/MMSAlarmMapsMarketBrowser……平臺啟動過程2.開發(fā)調(diào)試應(yīng)用程序和軟件發(fā)布
2.1開發(fā)調(diào)試應(yīng)用程序基于SDK的開發(fā)環(huán)境2.1.1建立開發(fā)環(huán)境1).系統(tǒng)需求:推薦使用:Eclipse+ADT(AndroidDevelopmentToolsPlug-in+WindowsXp來開發(fā),以下以此為例2).下載工具包AndroidSDK(1.0,1.5,1.6)Eclipse3.3(or3.4)JRE1.5ADT0.8(+)3).安裝AndroidSDK解開即可,記住路徑,以備后用4).安裝Eclipse綠色軟件,解開即可5).安裝JRE雙擊安裝
6).安裝ADT運(yùn)行Eclipse3.4,然后打開下列菜單。Help>SoftwareUpdates>AvilableSoftware>addsites…>archive...,選擇下載好的ADT的zip文件,點(diǎn)擊ok安裝7).設(shè)置androidSDK路徑運(yùn)行Eclipse,然后打開下列菜單。Windows>preferences>Android,瀏覽選擇SDK路徑,點(diǎn)擊OK。如選:
V:\android\sdk\android-sdk-windows-1.6_r1啟動Eclipse,選File>New>Project>AndroidProject或File>New>AndroidProject填寫工程信息2.1.2.Helloworldc.選finish,創(chuàng)建工程打開工程代碼,可看到HelloAndroid類publicclassHelloAndroidextendsActivity{/**活動第一次被創(chuàng)建后調(diào)用。**/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);}}修改一下試試,在onCreate()插入
TextViewtv=newTextView(this);tv.setText("Hello,Android");
注意加入TextView包(Ctrl-Shift-O)d.執(zhí)行代碼:Hello,Android選Run>->OpenRunDialog->Androidapplication或
Run->RunConfigurations->Androidapplication(V3.4)
填寫相關(guān)項(xiàng),如下e.Run吧將會看到模擬器會啟動,稍等片刻,你的”helloworld”出來了2.1.3調(diào)試應(yīng)用程序1).動態(tài)調(diào)試
a.在代碼某行設(shè)置斷點(diǎn):在代碼左邊的條上右鍵,選”Togglebreakpoint”即可設(shè)置/禁止斷點(diǎn)
b.選debug方式run,程序運(yùn)行到斷點(diǎn)處將停下2).ADB調(diào)試通過windows”cmd”adb工具輸出程序運(yùn)行l(wèi)og,程序中可用Log.d(w,d,i,e等方法)打印信息,C/C++層的log也可打印出.3).DDMS調(diào)試選菜單,如下會彈出ddms的界面,其中有許多調(diào)試信息.2.2軟件發(fā)布自己只是在本地仿真器上運(yùn)行,或下到自己的手機(jī)里,則不需要發(fā)布,Eclipse編完已經(jīng)簽為Debugkey,可以在emulator上或手機(jī)上運(yùn)行.如果你注冊為android開發(fā)者,并且想把自己發(fā)布的軟件發(fā)布到AndroidMarket上,需要做一下事情.*生成privateKey——keytool工具*設(shè)置應(yīng)用程序版本和所需系統(tǒng)版本*準(zhǔn)備工作(關(guān)log,加應(yīng)用圖標(biāo),編譯,測試)*上傳androidmarket()相關(guān)資源
2.2軟件發(fā)布3.Android運(yùn)行要求的嵌入式系統(tǒng)特點(diǎn)以及主流平臺
3.1Android需要的系統(tǒng)特點(diǎn)
作為一個開放的平臺,對硬件系統(tǒng)的門檻應(yīng)該不高,否則會限制其發(fā)展,事實(shí)也真如此.
其基本要求:能運(yùn)行Linux系統(tǒng)CPU在ARMV5以上RAM>=128MFlash>=128M3.2主流平臺m:MSM7200A,MSM7201AMarvell:Pxa310,Pxa300Samsung:s3c6410等Ti:Omap2420等4.Android內(nèi)核特點(diǎn)及移植4.1android內(nèi)核特點(diǎn)Linux2.6內(nèi)核(.25~)BinderforIPCLowmemorykillerLoggerAshmemPowermanagementAlarmmamagementOtherdriverAndroid內(nèi)核特點(diǎn)及移植(Cont’)Android內(nèi)核特點(diǎn)及移植(Cont’)4.2內(nèi)核移植4.2.1建交叉編譯環(huán)境在android在源代碼目錄樹中,已經(jīng)包含了交叉編譯器——arm-eabi-gcc,v4.2.1,在myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/下,只需配置環(huán)境變量PATH4.2.2編譯內(nèi)核
1).在內(nèi)核代碼中的Makefile中配好編譯器名稱
2).Makemenuconfig配置需要的內(nèi)核選項(xiàng)
3).MakezImage4).成功編完后,從arch/arm/boot/中取出zImage5).將內(nèi)核放入根文件系統(tǒng)中Android內(nèi)核特點(diǎn)及移植(Cont’)4.2.3編譯bootloader根據(jù)所用開發(fā)板的特點(diǎn),修改bootloader,并編譯4.2.4下載bootloader和內(nèi)核使用開發(fā)板提供的下載工具,下載bootloader和內(nèi)核到目標(biāo)板中.注:有的開發(fā)板用nfs來掛載image,根據(jù)開發(fā)板的說明來做即可.Android內(nèi)核特點(diǎn)及移植(Cont’)5.AndroidLCD驅(qū)動開發(fā)Framebuffer幀緩沖(framebuffer)提供給圖形應(yīng)用程序一個定義良好的接口,隱藏了底層硬件的細(xì)節(jié)。圖形應(yīng)用程序無需了解硬件寄存器,時(shí)序等信息。幀緩沖(Framebuffer)顯示技術(shù)5.AndroidLCD驅(qū)動開發(fā)幀緩沖驅(qū)動程序的數(shù)據(jù)結(jié)構(gòu)fb_fix_screeninfofb_var_screeninfofb_cmapfb_infofb_ops5.AndroidLCD驅(qū)動開發(fā)雙倍framebuffer,上層UI采用page_flip切換顯示Android對LCD驅(qū)動的特殊的要求: 需支持雙緩沖和pan功能編寫ANDROIDLCD的注意步驟和注意事項(xiàng)Android電源管理Android電源管理 分為內(nèi)核和應(yīng)用兩部分 通過sysfs來通訊動態(tài)電源管理內(nèi)核根據(jù)CPU的負(fù)荷情況來動態(tài)調(diào)整CPU的頻率.
如Pxa310,可支持104M,208M,416M,628M頻率如果CPU不支持,則只能關(guān)掉內(nèi)核動態(tài)電源管理.Android電源管理(Cont’)1).睡眠內(nèi)核根據(jù)應(yīng)用的請求來確定是否睡眠.
2).喚醒當(dāng)喚醒事件觸發(fā)后,內(nèi)核會醒過來,繼續(xù)運(yùn)行.
如modem,按鍵,RTC等.睡眠和喚醒Android電源管理(Cont’)PowerManagerService
電源管理服務(wù),響應(yīng)和處理各應(yīng)用的電源管理請求,并排隊(duì)管理,通過JNI通知內(nèi)核,使用類型:PARTIAL_WAKE_LOCK:屏幕,鍵盤燈全關(guān),不睡SCREEN_DIM_WAKE_LOCK:屏幕半亮,鍵盤燈關(guān)SCREEN_BRIGHT_WAKE_LOCK:屏幕亮,鍵盤燈關(guān)FULL_WAKE_LOCK:屏幕亮,鍵盤燈亮ACQUIRE_CAUSES_WAKEUP:一旦有請求鎖時(shí)強(qiáng)制打開Screen和鍵盤燈ON_AFTER_RELEASE:在釋放鎖時(shí)resetactivitytimerAndroid電源管理(Cont’)6.2.2應(yīng)用電源管理請求Acquire請求wakelockRelease釋放wakelockPowerManagerpm=(PowerManager)getSystemService(Context.POWER_SERV
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- bef增光膜施工方案
- 實(shí)驗(yàn)室咨詢服務(wù)合同
- TACCEM 135-2024 雙組份聚氨酯導(dǎo)熱結(jié)構(gòu)膠
- 與石油管道交叉施工方案
- 建筑工程機(jī)械租賃合同范文
- 昌河中學(xué)高一數(shù)學(xué)試卷
- 水泥樓梯改造施工方案
- 應(yīng)力吸收層施工方案
- 普陀區(qū)國三道路施工方案
- 鹽城小區(qū)綠化工程施工方案
- 2025年孝感貨運(yùn)從業(yè)資格考試
- 防災(zāi)避險(xiǎn)安全應(yīng)急知識培訓(xùn)課件
- 2023年新高考全國Ⅱ卷語文真題(解析版)
- 2025年政府采購評審專家理論考試復(fù)習(xí)試指導(dǎo)題庫(含答案)
- 2025屆西北四省(山西、陜西、青海、寧夏)高三下學(xué)期第一次聯(lián)考英語試題
- 2025年湖南鐵道職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫1套
- 高中主題班會 復(fù)盤-在思考中學(xué)習(xí)課件-高中上學(xué)期主題班會
- 江蘇省中小學(xué)生金鑰匙科技競賽(高中組)考試題及答案
- A型肉毒素治療知情同意書 注射知情同意書
- 中國建筑史PPT(東南大學(xué))完整全套教學(xué)課件
- 復(fù)合材料鋪層設(shè)計(jì)
評論
0/150
提交評論