Android基本常識

WanQiane發表於2017-06-19

一、Android基本常識
安卓系統版本和sdk版本對照表:

系統版本 系統名稱 sdk版本
1.5 Cupcake API 3
1.6 Donut API 4
2.0/2.0.1/2.1 Eclair API 7
2.2 Froyo (Frozen Yogurt) API 8
2.3.1/2.3.3 Gingerbread API 9/API 10
3.0/3.1/3.2 Honeycomb API 11/API 12/API 13
4.0/4.0.3 Icecream Sandwich API 14/API 15
4.1.2/4.2.2/4.3 JellyBean API 16/API 17/API 18
4.4 KitKat API 19
4.4w KitKat Wear API 20
5.0/5.1 Lollipop(棒棒糖) API 21/API 22
6.0 Marshmallow(棉花糖) API 23(M)
7.0/7.1 Nougat API 24/API 24(N)

二、Android的發展史及系統各版本的特性
1 、Android 0.x
AndroidBeta(阿童木):2008年8月18日釋出(內測版)
主要更新如下:
(1) 新增Home主介面;
(2) 新增以下幾款應用程式:鬧鐘、計算器、照相機、音樂播放器、照片檢視器、簡訊息;
2 、Android 1.x
1)Android1.0
發條機器人: 2008年9月23日釋出(內測版)
首款Android 裝置the T-Mobile G1搭載Androd1.0,內建了Android Market beta。
2) Android1.5
Cupcake(紙杯蛋糕):2009年4月30日釋出。
主要的更新如下:
(1) 拍攝/播放影片,並支援上傳到Youtube;
(2) 支援立體聲藍芽耳機,同時改善自動配對效能;
(3) 最新的採用WebKit技術的瀏覽器,支援複製/貼上和頁面中搜尋
(4) GPS效能大大提高;
(5) 主螢幕增加音樂播放器和相框widgets;
(6) 簡訊、Gmail、日曆,瀏覽器的使用者介面大幅改進,如Gmail可以批量刪除郵件;
(7) 相機啟動速度加快,拍攝圖片可以直接上傳到Picasa;
(8) 來電照片顯示;
(9) 提供螢幕虛擬鍵盤,實現全屏顯示,這就是解釋了T-Mobile G1為什麼是物理鍵盤。以下是HTC Magic手機顯示的軟鍵盤
(10) 應用程式自動隨著手機旋轉。
3) Android1.6
Donut(甜甜圈):2009年9月15日釋出。
主要的更新如下:
(1) 重新設計的Android Market手勢;
(2) 支援CDMA網路從而讓Verizon這樣的美國運營商,以及亞洲的數百萬手機使用者帶來了希望,;
(3) 新增文字轉語音系統(Text-to-Speech);
(4) 快速搜尋框;
(5) 支援更多的螢幕解析度;
(6) 檢視應用程式耗電;
(7) 支援虛擬私人網路(VPN);
3、 Android 2.x
1) Android2.0/2.1
Éclair(鬆餅):2009年10月26日釋出。
主要的更新如下:
(1) 優化硬體速度;
(2) “Car Home”程式
新的“Car Home”應用程式為各功能提供了易於操作的快捷連結,還能方便地使用語音控制功能,便於使用者駕車時使用;
(3) 支援更多的螢幕解析度 ,支援854x480
(4) 改良的使用者介面;
(5) 作業系統整體執行速度更快,尤其是瀏覽器;瀏覽器現在也支援雙擊螢幕進行縮放;
(6) Facebook好友整合至聯絡人功能;
(7) 更好的白色/黑色背景比率;
(8) 改進Google Maps3.1.2,支援導航:
(9) 支援Microsoft Exchange郵件服務;
(10) 整合多個不同帳戶,提供統一的郵件收件箱;
(11) 支援數碼變焦;
(12) 改進的虛擬鍵盤;
(13) 支援藍芽2.1;
(14) 支援動態桌面的設計
(15) 支援語音輸入文字
(16) 支援內建相機閃光燈;
(17) 只需雙擊就能上傳圖片至YouTube;
2) Android 2.2/2.2.1
Froyo(凍酸奶) :2010年5月20日釋出。
主要的更新如下:
(1) 整體效能大幅度的提升;
(2) 網路共享功能,手機可發射熱點(hotspot):
(3) Flash的支援;
(4) App可以安裝進sd功能;
(5) 全新的軟體商店;
(6) 更多的Web應用API介面的開發;
(7) 支援聲控:
(8) 新增應用程式“全部升級”或“自動升級”選項
(9) Android線上應用市場與PC端保持同步
(10) 自由升級系統版本
(11) 電源管理功能
(12) 更多付費模式
(13) 新版音樂播放器
(14) 基於SD擴充套件儲存卡安裝模式
(15) 高階通知選項卡
(16) 支援USB/藍芽鍵盤
(17) 離線地圖儲存
3) Android2.3.x
Gingerbread(薑餅) :2010年12月7日釋出。
主要的更新如下:
(1) 改進的電源管理系統;
(2) 一鍵文字選擇和複製/粘帖;
(3) 文字更直觀的輸入;
(4) 支援VP8和WebM視訊格式,提供AAC和AMR
(5) 簡化介面、速度提升;
(6) 支援前置攝像頭、SIP/VOIP和NFC(近場通訊);
(7) 新的應用管理方式;
(8) 新增陀螺儀和其他的感測器支援;
(9) 混響音效
本次Android 2.3框架中加入了對混響音效的支援,比如低音,耳機和虛擬化等效果。
4 、Android 3.x(蜂巢)
1) Android3.0
Honeycomb(蜂巢):2011年2月2日釋出。
主要更新如下:
(1) 優化針對平板 ;
(2) 全新設計的UI增強網頁瀏覽功能 ;
(3) in-app purchases(應用市場內購買應用)功能;
(4) Honeycomb允許使用者隨意訪問自己的檔案管理器,,但事實是,Honeycomb的檔案管理系統實在太雜亂無章,沒有一個統一的系統標準。使用者需要至少是程式設計師級別的頭銜才能夠快速找到自己所需的檔案。
(5) 成像效果差
在Honeycomb系統中,圖片成像始終給人一種失真及褪色的感覺。在用同一張圖片使用iOs、Android 2.2及Android 3.0進行比對後,我們明顯能夠感覺到Honeycomb的成像效果偏暗。
(6) 優化虛擬按鍵編輯
儘管相比較Android 2.x系統,Honeycomb的鍵盤已得到了大幅優化,並配備了QWERTY全鍵盤設計及基於.com、@等字元的自動聯想功能。但對於 Honeycomb來說,其鍵盤最大的問題還在於不夠人性化。使用者在輸入一個字母的時候,Honeycomb鍵盤中該字母的底色會發藍光以提醒使用者,但谷歌似乎沒有考慮到在大多數情況下,使用者是無法看到這個藍色光圈的,因為其手指遮蓋了這個字母的大部分面積。不得不說,iOs系統在這方面則考慮的更為周到。在iOs系統中,使用者選定字母時系統會用“跳出”的方式提示使用者,這個創意值得谷歌借鑑
(7) 外部儲存使用者體驗糟
大多執行Honeycomb系統的平板機都配備了至少一個microSD卡槽及若干USB介面,對於一臺平板電腦來說,如此多的擴充套件選項的確足夠日常使用。問題是,Honeycomb對於外部存貯裝置的相容仍然不是很好,它無法做到像Windows一樣“即插即用”,其載入外部存貯裝置所需的時間過長,這也就直接導致了使用者體驗分數的下滑
2) Android3.1
Honeycomb(蜂巢) :2011年5月11日布釋出。
版本主要更新如下:
(1) 經過優化的Gmail電子郵箱 ;
(2) 全面支援Google Maps ;
(3) widget支援的變化,能更加容易的定製螢幕widget外掛;
(4) 工作管理員可滾動,支援USB輸入裝置(鍵盤、滑鼠等) ;
(5) 支援Google TV.可以支援XBOX 360無線手柄。
3) Android3.2
Honeycomb(蜂巢):2011年7月13日釋出。
版本更新如下:
(1) 支援7英寸裝置;
(2) 引入了應用顯示縮放功能。
5 、Android 4.x
1) Android 4.0
Ice Cream Sandwich(冰激凌三明治):2011年10月19日在香港釋出。
版本主要更新如下:
(1) 全新的UI;
(2) 全新的Chrome Lite瀏覽器,有離線閱讀,16標籤頁,隱身瀏覽模式等;
(3) 截圖功能;更強大的圖片編輯功能;
(4) 自帶照片應用堪比Instagram,可以加濾鏡、加相框,進行360度全景拍攝,照片還能根據地點來排序;
(5) Gmail加入手勢、離線搜尋功能,UI更強大;
(6) 新功能People:以聯絡人照片為核心,介面偏重滑動而非點選,整合了Twitter、Linkedin、Google+等通訊工具,有望支援使用者自定義新增第三方服務;
(7) 新增流量管理工具,可具體檢視每個應用產生的流量,限制使用流量,到達設定標準後自動斷開網路。
2) Android4.1
Jelly Bean(果凍豆):2012年6月28日
版本主要更新如下:
(1) 更快、更流暢、更靈敏,改版功能按鍵調出後臺執行程式介面;
(2) 特效動畫的幀速提高至60fps,增加了三倍緩衝;
(3) 增強通知欄: 通知欄支援更大更豐富的介面顯示,支援更多的通知內容格式,例如圖片,可配置優先順序,並且支援多種Actions
(4) 支援聲音錄製
(5) 搜尋將會帶來全新的UI、智慧語音搜尋和Google Now三項新功能;
(6) 桌面外掛自動調整大小;
(7) 加強無障礙操作;
(8) 語言和輸入法擴充套件;
(9) 新的輸入型別和功能;
(10)加強4.0增加的Wi-Fi Peer-to-Peer (P2P)功能,支援過濾查詢附近具有Wi-Fi P2P服務的應用的裝置。
(11)支援網路寬頻管理
(12)Android Beam
Android Beam是一種流行的基於NFC的技術,它能夠讓使用者在兩個有NFC功能的電話接觸之時馬上分享資訊。
在Android4.1中,Android Beam使得圖片、視訊和其他需要藍芽來進行傳輸的資料分享變得更加容易。當使用者觸發傳輸時,Android Beam通過NFC到藍芽的傳輸方式,使得從一個裝置傳輸檔案到另一個裝置變得非常容易。
3) Android4.2
Jelly Bean(果凍豆):2012年10月30日
(1) Photo Sphere全景拍照功能;
(2) 鍵盤手勢輸入功能;
(3) 改進鎖屏功能,包括鎖屏狀態下支援桌面掛件和直接開啟照相功能等;可以在鎖屏頁面新增至多5個應用小部件,在螢幕未解鎖情況下,可以看到這些小部件的頁面,同時左右滑動可以切換各個小部件的頁面
(4) Gmail郵件可縮放顯示;
(5) Daydream螢幕保護程式;使用者連點三次可放大整個螢幕,還可用兩根手指進行旋轉和縮放顯示,以及專為盲人使用者設計的語音輸出和手勢模式導航功能等;螢幕保護程式支援播放視訊和音樂,同時具有手機活動頁面的所有功能。
(6) 支援Miracast無線顯示共享功能;
(7) Google Now現可允許使用者使用Gamail作為新的資料來源,如改進後的航班追蹤功能、酒店和餐廳預訂功能以及音樂和電影推薦功能等。
(8) 改善平板電腦使用者體驗,特別是在狀態列,導航欄以及通知欄上下功夫。在不同尺寸的螢幕上,將狀態列放在頂部,在下拉狀態列的同時,順帶出通知欄和快速設定欄目。導航欄將放在螢幕底部;擴充套件通知欄,允許使用者直接開啟應用
(9) Android 平板支援多使用者共享同一個平板,每個使用者對於同一個平板裝置擁有不同的主螢幕、小部件、賬戶、設定、檔案和應用;
(10)支援鏡面效應“從右到左”;
(11)支援音訊回放延遲;
(12)安全方面改善:
<1>應用安裝校驗,應用在安裝進手機前,系統會彈框讓使用者選擇安裝與否;
<2>在發出會扣取高額費用的簡訊前,系統會新啟一個通知讓使用者選擇傳送與否;
<3>使用者可以配置VPN網路,假如配置了VPN,那麼使用者只能訪問該網路中的資源,這樣可以防止傳送資源到其他網路;
<4>分組顯示許可權,方便使用者管理與檢視
<5>強化初始化指令碼,支援”nofollow”HTML標籤
<6>ContentProvider的預設屬性由“export”改變為“false”,這樣可以減少其他應用的表面攻擊;
<7>加密方面,由原來的SecureRandom和Cipher.RSA改為OpenSSL
(13) 在開發者選項中新增新的欄目:
<1>增加提交錯誤報告;
<2>電源鍵選單錯誤報告;
<3>通過USB驗證應用;
<4>顯示GPU檢視更新;
<5>強制啟用4X MSAA;
<6>模擬輔助顯示裝置;
<7>啟動OpenGl跟蹤;
4) Android4.3
JellyBean(果凍豆):2013年7月25日
(1)引入“垂直同步定時”(vsync timing)、“三重緩衝”(triple buffering)、“減少的觸控延時”(reduced touchlatency),“CPU輸入提振”(CPU input boost)和“硬體加速的2D渲染”(hardware-accelerated 2D rendering)等技術
(2)多使用者賬戶列表,並引入“保密文件”( Restricted profiles)功能,此外,單獨應用的特定功能還能夠在API級別上進行限制,比如定位或應用內購。
(3)支援“智慧藍芽”(Bluetooth Smart):支援低能耗藍芽4.0技術(Bluetooth 4.0 Low Energy)。支援“Bluetooth AVRCP 1.3”: 將幫助使用者更好地完成外放裝置與安卓裝置間的音訊互動,包括停止、播放、音量調整和上下首曲目切換等操作;此外,使用者的車載音響還可以顯示曲目名稱。
(4)增加了“總是自動搜尋Wi-Fi訊號”(Scanning always available)的選項,並且處於預設開啟狀態。它可令手機在進入Wi-Fi的區域後立即連線,並能實現快速的室內定位功能,較傳統的GPS省電而精準
(5)支援GLSL ES 3.0著色語言、32 位整數和浮點資料型別操作,統一了紋理壓縮格式ETC,實現了多重渲染目標和多重取樣抗鋸齒。
(6)虛擬環繞立體聲
(7)擁有各式各樣的全新DRM執行方式: MPEG DASH、VP8編碼、無需快取的表面編碼,並可通過MPEG-4媒體流合併器來融合視訊與音訊檔案的輸出。
(8)安裝嚮導:初次使用安卓裝置或更新完新版系統後,開機會顯示安裝嚮導程式,幫助使用者完成必要的設定,並掌握基本的操作。
(9)支援國際使用者:新增多國語言支援
(10)能夠過濾關鍵事項,同時允許第三方應用與核心Android輸出/輸入以新的方式進行互動。
(11)新的開發者選項
工具:開發者們能夠使用到增強的Systrace工具,它能夠從硬體模組、核心功能、Dalvik虛擬機器和資源載入當中引入資料。追蹤API能夠對程式碼段進行標記,節約部分系統資源。
選項:系統隱藏的開發者選項也補充了新的功能,幫助開發者更好地掌握GPU情況。
5) Android4.4
KitKat(奇巧巧克力):2015年10月31日
新特性:
(1) 通過主機卡模擬技術,讓手機支援更加安全NFC交易功能
(2) 可以為app新增支援列印功能
(3) 新的儲存框架,方便使用者開啟、瀏覽相關檔案、圖片、視訊和其他檔案
(4)感測器更低消耗,新增步伐步測器和計步器
(5)新定義規則處理SMS或者MMS簡訊息,只支援裝置預設接收簡訊息的應用寫簡訊,其他應用只能檢視;
(6)為富媒體例如圖片、視訊、圖書、地圖以及遊戲提供了一種新的展示模式:沉浸式體驗。在這種模式下,會隱藏掉狀態列、導航等,使用螢幕進行全屏展示。想要觸發這種模式,使用者只需要觸控螢幕周邊或者離開螢幕點選一小會,系統會自動進入沉浸模式
(7)透明的系統UI樣式
6 、Android 5.x
Lollipop(棒棒糖):2014 年 10 月 15 日釋出。
(1)Material design
Material design算是Android 系統風格的里程碑,其3D UI風格新穎,貼近人機互動;
(2)改善通知欄,提升視覺化、親近性、可編輯性。同時支援手機在鎖屏狀態也可接收到通知,使用者可以在鎖屏狀態下,設定接收全部應用的通知或者接收部分應用的通知或者不接收所有應用的通知
(3)長按Home鍵或者選單鍵以卡片式方式展示後臺執行中的app
(4)支援連結標準USB音訊裝置,包括耳機、揚聲器、麥克風等高效能的音訊裝置
(5)託管配置
Android 5.0 提供了用於在企業環境內執行應用的新功能。如果使用者具有現有的個人帳戶,則裝置管理員可以啟動託管配置流程來向裝置新增一個共存但單獨的“託管配置檔案”。與託管配置檔案關聯的應用將與非託管應用一起出現在使用者的啟動器、“最近用過”螢幕以及通知中。
啟動器可以通過向圖示繪圖新增一個工作標記,使託管應用更加惹人注目
(6)改善螢幕截圖,新增螢幕共享
新增的螢幕共享對於會議非常有用;
(7)支援互作用複合感測器、傾斜探測器感測器、心率感測器
互作用複合感測器能夠探測特別的手勢,例如喚醒手勢、篩選手勢、瀏覽手勢
(8)改善裝置狀態模式
Android5.0已經找不到靜音模式,相關替代品是“優先”模式。5.0裝置狀態模式有3種,分別是“無”、“優先”、“全部”。在“無”模式下,意義達到不發出鬧鐘提醒,在預設“優先”模式下,相當於以前的“靜音”,在“全部”模式下,相當於以前的“標準”。想要切換這3種狀態,只需要按音量-或+鍵。
(9)手機支援訪客模式;
谷歌在Android 5.0中加入的訪客模式,其實也有些姍姍來遲。在方可模式中,我們可以以機主的方式登陸手機,如果不想別人看到你手機的某些內容,你也可以偷偷切換到訪客模式,最多可以新增4個訪客。
切換到這訪客登入後,可以自行設定是否允許訪客打接電話,並且此前機主模式下的環聊,也就是簡訊內容是無法再看到,需要訪客重新新增谷歌賬戶,但是通話記錄還是依然可見。因此訪客登入在保護機主隱私上還可以更進一步
7、 Android 6.x
Marshmallow(棉花糖):2015年9月30日
(1)新增執行時許可權概念
Android6.0或以上版本,使用者可以完全控制應用許可權。當使用者安裝一個app時,系統預設給app授權部分基礎許可權,其他敏感許可權,需要開發者自己注意,當涉及敏感許可權時,開發者需要手動請求系統授予許可權,系統這時會彈框給使用者,倘若使用者拒絕,如果沒有保護,app將直接崩潰,倘若有保護,app也無法使用相關功能。
(2)新增瞌睡模式和待機模式
瞌睡模式:當不碰手機,手機自動關閉螢幕後,過一會,手機將進入瞌睡模式。在瞌睡模式下,裝置只會定期的喚醒,然後繼續執行等待中的任務接著又進入瞌睡;
待機模式:假如使用者一段時間不觸碰手機,裝置將進入待機模式。在這個模式下,系統會認為所有app是閒置的,這時系統會關閉網路,並且暫停app之前正在執行的任務。
(3)選擇文字時,會在文字附近彈出懸浮框,懸浮框中會有類似“剪下”、“複製”、“貼上”的選項
8 、Android 7.x
Nougat”(牛軋糖):2016年8月22日
(1)分屏多工
進入後臺多工管理頁面,然後按住其中一個卡片,然後向上拖動至頂部即可開啟分屏多工,支援上下分欄和左右分欄,允許拖動中間的分割線調整兩個APP所佔的比例。
(2)全新下拉快捷開關頁
下拉開啟通知欄頂部即可顯示5個使用者常用的快捷開關,支援單擊開關以及長按進入對應設定。如果繼續下拉通知欄即可顯示全部快捷開關,此外在快捷開關頁右下角也會顯示一個“編輯”按鈕,點選之後即可自定義新增/刪除快捷開關,或拖動進行排序。
(3)通知訊息快捷回覆,支援第三方應用通知的快捷操作和回覆。
(4)通知訊息歸攏
將同一應用的多條通知提示訊息歸攏為一項,點選該項即可展開此前的全部通知,允許使用者對每個通知執行單獨操作。
(5)夜間模式
安卓7.0中重新加入了夜間深色主題模式,該功能依然需要在系統調諧器中開啟,從頂部下劃開啟快捷設定頁,然後長按其中的設定圖示,齒輪旋轉10秒鐘左右即可提示已開啟系統調諧器,之後使用者在設定中即可找到“系統調諧器”設定項。點開其中的“色彩和外觀”,即可找到夜間模式,開啟後即可使用全域性的深色主題模式,同時亮度和色彩也會進行一定的調整,該功能可以基於時間或地理位置自動開啟。另外,系統調諧器中也提供了RGB紅綠藍三色調節滑動條,允許使用者手動精細調節,例如減少藍色或增加紅色以提供類似護眼模式的效果。
(6)流量保護模式
安卓7.0新增的流量保護模式不僅可以禁止應用在後臺使用流量,還會進一步減少該應用在前臺時的流量使用。其具體實現原理目前尚不清楚,推測其有可能使用了類似Chrome瀏覽器的資料壓縮技術。此外,谷歌還擴充套件了ConnectivityManager API的能力,使得應用可以檢測系統是否開啟了流量保護模式,或者檢測自己是否在白名單中。安卓7.0允許使用者單獨針對每個應用,選擇是否開啟資料保護模式。
(7)全新設定樣式
安卓7.0啟用了全新的設定樣式,首先每個分類下各個子項之間的分割線消失了,只保留分類之間的分割線。全新的設定選單還提供了一個綠色的頂欄,允許使用者通過後方的下拉箭頭,快速設定勿擾模式等。除了勿擾模式外,頂欄選單還可以顯示諸多其他的設定狀態。谷歌也在安卓7.0的設定中加入了漢堡選單,在二級設定介面中的左上角,你就會看到這個漢堡選單,點選後即可看到所有設定項,方便使用者快速跳轉。
(8)改進的Doze休眠機制
谷歌對Doze進行了更多的優化,休眠機制的使用規則和場景有所擴充套件,例如只要手動在後臺刪掉應用卡片,關屏後該應用就會被很快深度休眠。
(9)系統級電話黑名單功能
安卓7.0將電話攔截功能變成了一個系統級功能。其它應用可以呼叫這個攔截名單,但只有個別應用可以寫入,包括撥號應用、預設的簡訊應用等。被攔截號碼將不會出現在來電記錄中,也不會出現通知。另外使用者也可以通過賬戶體系備份和恢復這個攔截名單,以便快速匯入其它裝置或賬號。
(10)選單鍵快速應用切換
雙擊選單鍵,就能自動切換到上一個應用。此外,如果你不停地點選選單鍵的話,就會在所有應用中不間斷地輪換,應用視窗會自動放大,頂部還會出現倒數計時條,停止點選且倒數計時結束後,當前應用會自動放大並返回到前臺。
三、Android學習路線圖
1. 學習Android要具備的基礎知識
2. JavaSE基本知識:集合、IO操作、執行緒、網路訪問、XML解析、JSON解析
3. WEB開發知識:HTML、jsp、servelet
4. 伺服器開發知識:jdbc資料庫操作(Mysql)
這裡寫圖片描述

四、Android的系統架構


1. 裝置驅動程式層(Linux Kernel):該層主要包括:驅動、記憶體管理、程式管理、網路協議等元件。
2. 執行層c/c++函式庫層(Libraries)及Android Runtime:
  ○ Java不能直接訪問硬體,要訪問硬體,必須使用NDK。NDK是由c/c++語言編寫的庫(.so檔案),該層是對應用程式框架層提供支援的層。
  ○ SSL:Secure Sockets Layer安全套接字層
  ○ libc:C執行時庫
  ○ WebKit:負責瀏覽器支援(Chrome和Safari都使用該庫來支援瀏覽器)
  ○ FreeType:負責字型支援
3. 應用程式框架層(Application FrameWork):該層一般都是開發人員直接呼叫的API。該層主要由Java語言編寫。
4. 應用程式層(Applications):由執行在Dalvik虛擬機器上的app組成。(Dalvik是Google公司為Android專門設計的Java虛擬機器,執行Java程式的速度比JVM更快,以此來克服手持裝置在記憶體、處理器速度和功率等方面上的限制)。該層由Java語言編寫。
  a. Dalvik VM獲取生成的java類檔案,將它們組合為一個或者多個、Dalvik可執行檔案(.dex)。Dalvik VM的目標是找到所有可能的方式來優化JVM效能、記憶體及電池壽命。
  b. 採用Dalvik VM的一個結果是,Android中最終的可執行程式程式碼不是java位元組碼,而是.dex檔案。這意味著無法直接執行java位元組碼,必須得到java的類檔案,然後將它們轉換為.dex檔案。

安卓系統四層結構:
這裡寫圖片描述

五、常用英文縮寫解釋
JDK– (Java Development Kit) 是 Java 語言的軟體開發工具包.
API–(Application Programming Interface,應用程式程式設計介面)是一些預先定義的函式,目的是提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問原始碼,或理解內部工作機制的細節.
SDK–(Software Development Kit,軟體開發工具包)包括廣義上指輔助開發某一類軟體的相關文件、範例和工具的集合.
ADT–(Android Development Tools)安卓開發工具.
AVD–Android Virtual Device,就是Android執行的虛擬裝置.
DDMS–DDMS 的全稱是Dalvik Debug Monitor Service,是 Android 開發環境中的Dalvik虛擬機器除錯監控服務。
它為我們提供例如:為測試裝置截圖,針對特定的程式檢視正在執行的執行緒以及堆資訊、Logcat、廣播狀態資訊、模擬電話呼叫、接收SMS、虛擬地理座標等等.
ADB–Android Debug Bridge,android sdk裡的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的android裝置,它的主要功能有:
* 執行裝置的shell(命令列)
* 管理模擬器或裝置的埠對映
* 計算機和裝置之間上傳/下載檔案
* 將本地apk軟體安裝至模擬器或android裝置
ADB是一個客戶端-伺服器端 程式, 其中客戶端是你用來操作的電腦, 伺服器端是android裝置.
APK–AndroidPackage,即Android安裝包.
JNI–Java Native Interface,提供了若干的API實現了Java和其他語言的通訊(主要是C&C++).
AIDL–Android Interface Definition Language,即Android介面定義語言.是一種android內部程式通訊介面的描述語言,通過它我們可以定義程式間的通訊介面.
icp:interprocess communication :內部程式通訊.

相關文章