首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 11445|回復(fù): 0
上一主題 下一主題
[教程]

Android開發(fā)筆記第三篇(什么是 Android?)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
     
   
Android 內(nèi)核   
? Linux 內(nèi)核版本 2.6   
? 位于硬件和軟件堆之間的抽象層   
? 核心服務(wù):安全機制、內(nèi)存管理、進程管理、網(wǎng)絡(luò)、硬件驅(qū)動。   
     
Android 依賴 Linux 內(nèi)核 2.6 提供核心服務(wù),比如安全、內(nèi)存管理、進程管理、網(wǎng)絡(luò)、硬件驅(qū)動。在這里,Linux   
內(nèi)核扮演的是硬件層和系統(tǒng)其它層次之間的一個抽象層的概念。這個操作系統(tǒng)并非類 GNU/Linux 的,因為其   
系統(tǒng)庫,系統(tǒng)初始化和編程接口都和標(biāo)準(zhǔn)的 Linux 系統(tǒng)是有所不同的。   
   
從 Google 目前 release 的 Linux 系統(tǒng)來看,其沒有虛擬內(nèi)存文件系統(tǒng),系統(tǒng)所用的是 yaffs2 文件系統(tǒng),具體   
的映像也都位于 SDK 安裝目錄下。通過 emulator -console 命令,我們可以在 host 中斷下得到一個簡單的可以   
控 制 Android 的 shell , 這 個 系 統(tǒng) 包 含 了 一 個 Toolbox , 提 供 一 些 基 本 的 命 令 工 具 , 集 中 在   
/sbin,/system/sbin,/system/bin 中,但是很簡陋,命令種類也很少。   
   
目前 Android 的程序安裝模式是靠 Eclipse 自動進行的,通過對底層的分析可知,大致步驟就是在/data/app 和   
data/data 下存放 android 底層和普通內(nèi)核沒有什么大的區(qū)別,我們可以將其作為一個 Linux 來進行開發(fā)和   
hacking。   
   
   
Lib 和運行環(huán)境   
   
     
   
lib   
? C/C++庫:被各種 Android 組件使用   
? 通過應(yīng)用程序框架開發(fā)者可以使用其功能   
? 包括:   
   
媒體庫:MPEG4   
H.264 MP3 JPG PNG .....   
WebKit/LibWebCore:Web 瀏覽引擎   
SQLite 關(guān)系數(shù)據(jù)庫引擎   
2D,3D 圖形庫、引擎   
   
豐富的類庫支持:2D 和 3D 圖像庫 OpenGL ES、數(shù)據(jù)庫 SQLite、對象數(shù)據(jù)庫 db4o 類庫、媒體庫、基于 Linux   
底層系統(tǒng) C 庫等等,讓應(yīng)用開發(fā)更簡單多樣。Google 使用 Apache 的 Harmony 類庫,Harmony 某些方面速度   
快于 Sun 的 VM。Runtime 在 Dalvik Java VM 上,Dalvik 采用簡練、高效的 byte code 格式運行,它能夠在低   
資耗和沒有應(yīng)用相互干擾的情況下并行執(zhí)行多個應(yīng)用。   
   
   
運行時環(huán)境   
   
核心庫提供的 Java 功能   
Dalvik 虛擬機依賴于 Linux 內(nèi)核,例如線程或底層內(nèi)存管理   
設(shè)備可以運行多個 Dalvik 虛擬機,每一個 Android 應(yīng)用程序在它自己的 Dalvik VM 實例中運行   
VM 執(zhí)行優(yōu)化的 Dalvik 可執(zhí)行文件(.dex)   
Dx-工具把編譯過的 Java 文件轉(zhuǎn)換為 dex 文件   
   
應(yīng)用和框架   
   
   
核心應(yīng)用,例如聯(lián)系人,電子郵件,電話,瀏覽器,日歷,地圖, ...   
充分訪問所有核心應(yīng)用框架 API   
簡化組件的重用   
用 Java 編寫應(yīng)用程序   
   
     
支持的功能   
   
   
   
+ Application framework: 可重用的和可替換的組件部分,在這個層面上,所有的軟件都是平等的。   
   
+ Dalvik virtul machine: 一個基于 Linux 的虛擬機。   
   
+ Integrated browser: 一個基于開源的 WebKit 引擎的瀏覽器,在應(yīng)用程序?qū)印?nbsp;  
   
+ Optimized graphics: 包含一個自定義的 2D 圖形庫和基于 OpenGL ES 1.0 標(biāo)準(zhǔn)的 3D 實現(xiàn)。   
   
+ SQLite: 數(shù)據(jù)庫   
   
+ Media support: 通用的音頻,視頻和對各種圖片格式的支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)   
   
+ GSM Telephony: GSM 移動網(wǎng)絡(luò), 硬件支持。   
   
+ Bluetooth, EDGE, 3G, and WiFi: 都依賴于硬件支持。   
   
+ Camera, GPS, compass, and accelerometer: 都依賴于硬件支持。   
   
+ Rich development environment: 包含一套完整的開發(fā)工具集,方便跟蹤調(diào)試,內(nèi)存檢測和性能測試,而且   
提供了   
   
   
Eclipse 的插件。最底層的是一個 Linux Kernel,加載了幾個移動設(shè)備必要的系統(tǒng)驅(qū)動(這么說來 Android 基   
礎(chǔ)系統(tǒng)是要以 GPL 發(fā)布了?不知道 34 家廠商的硬件開發(fā)商們是怎么樣想的);上面是類庫和 Runtime,綠色   
的類庫部分可以看到大名鼎鼎的 SQLite,這個軟件甚至聲稱自己屬于公共領(lǐng)域(比 MIT License 還要強 @@),   
字體 FreeType 是 BSD-style License 的,圖形庫 OpenGL ES 只需通過產(chǎn)品測試,無償使用于產(chǎn)品。再向上看   
是應(yīng)用層的東西了,這里可以做的事情就非常多了,各個社區(qū),各個廠家都可以參與進來。難怪 Android 的sdk   
   
可以 Apache License 發(fā)布了,對企業(yè)和開發(fā)人員友好啊。   
   
那么 Google 自己的東西在哪里呢?沒錯,就是右   
   
邊那個 runtime,最吸引技術(shù)人員的就是這個 runtime(注意,這個才是 Android 的 核 心)。Google 為它準(zhǔn)備了   
一個虛擬機,叫做 Dalvik。這個讓人摸不著頭腦的東西的到底是什么?從開發(fā)平臺上我們清清楚楚地得到了   
答案:Java   
   

上一篇:Android開發(fā)筆記第五篇(虛擬機Dalvik,Android中各種JAVA包描述
下一篇:Android開發(fā)筆記第二篇(Android 手機概念)
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-10-20 13:52 , Processed in 0.057013 second(s), 15 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表