標籤:
Android軟體開發是指建立新的Android作業系統的過程。通常是使用Android軟體開發套件(SDK)利用Java語言進行開發。
Android SDK
Android軟體開發套件(SDK)包括一套全面的開發工具。這些措施包括調試器,庫檔案,一個基於QEMU的手機模擬器,文檔,範例程式碼和教程。目前支援的開發平台,包括可運行Linux的電腦,Mac OS X 10.5.8以上版本,和Windows XP或更高版本。截至2015年3月, Android 內建的SDK本身不可再用,但軟體開發是有可能用專門的Android應用程式進行。
大約到2014年底,官方支援的整合式開發環境(IDE)是使用Android開發工具(ADT)外掛程式的Eclipse,雖然IntelliJ IDEAIDE(所有版本)完全支援Android開發,NetBeansIDE還支援通過外掛程式進行Android開發。
Android應用程式被打包成apk格式儲存在data/app在Android作業系統檔案夾下(出於安全原因,檔案夾只允許根使用者訪問)。 apk包中包含.dex檔案(編譯的位元組碼檔案)、資源檔,等等。
Android Debug Bridge
Android調試橋(ADB)是一個包含於Android SDK包中的工具包,。它同時包含用戶端和伺服器端的程式,且可以互相交流。ADB通常是通過命令列介面訪問,儘管存在許多圖形化使用者介面控制ADB。
通過ADB發布命令的格式通常是:
adb [-d|-e|-s <serial Number>] <command>
例如,Android應用可以通過命令儲存備份一個檔案,預設情況下其名稱是backup.ab。
Fastboot
快速啟動是一個包含SDK包的診斷協議,主要是通過一個從主機串連的USB來修改flash檔案系統。它需要的裝置將開始在一個引導裝載程式或輔助程式模式下,其中只有最基本的硬體進行初始化。在裝置上啟用協議後,它將接受通過USB使用命令列發送給它的一套特定的命令。一些最常用的fastboot命令包括:
•Flash –在主機上用二進位映像儲存重寫分區
•erase –擦除特定分區
•reboot –為主要的作業系統重啟裝置,系統復原分區或回到它的引導裝載程式
•devices –顯示列表中的所有裝置(用序號)串連到主機
•format –格式話特定分區;分區的檔案系統必須被裝置認可
Android NDK
用C,C++和其他語言可以編譯成ARM,MIPS或x86原始碼的庫檔案作為Android Native Development Kit(NDK)。源類可以從運行在Dalvik 虛擬機器上的system.load library中回調使用 ,這是標準的Android java類的一部分。
完整的應用程式可以使用傳統的開發工具編譯和安裝。然而,根據Android開發文檔,NDK不應單獨用於開發應用程式僅僅是因為開發人員更喜歡用C / C++編程,當使用NDK增加了複雜性而同時大多數應用程式並不會因為使用而從中受益。
不像Java應用開發那樣基於一款IDE(如Eclipse),NDK是基於命令列的工具,並且調用時需要手動建立,部署和調試應用程式。
參考資料:
1、Wikipedia-Android Software Development
Android深度探索與HAL驅動開發(卷1)-- 第二章隨筆