1. 為什麼android需要虛擬機,而ios不需要
不是 Android 「需要」虛擬機 iOS 不「需要」,而是 Android 的系統機制本來一開始就是基於 Dalvik 虛擬機(現在是 ART)的。因果關系不要弄錯。
2. Android 開發用什麼工具
安卓常用開發工具有:Eclipsew/ADT、Android SDKandAVDManager、Android模擬器和實際移動設備、Android Debug Bridge(adb)等。
1.Eclipsew/ADT
雖然Eclipse並非唯一可用於開發Android應用的Java開發環境,但它是目前最歡迎的工具,有很大程度上是因為它的成本很低(免費),但最主要的原因還是它與其他Android工具的強大組合功能。最典型的表現就是它與Android Development Tools(ADT)插件的組合(開發者可以通過Android網站下載ADT)。
2.Android SDKandAVDManager
這項SDK可提供多種重要的功能,它能管理不同版本的Android SDK,以及第三方附件、工具、設備驅動程序和文件。第二大功能就是管理用來安裝模擬器實體的Android Virtual Device配置(AVD)。
3.Android模擬器和實際移動設備
如果開發者創建完成了一款應用程序,就必須針對自己鎖定的設備進行測試。你可以將模擬器與AVD結合在一起模擬目標移動設備的運行環境,但更全面地進行測試,你還是需要一個真正的移動設備,因為模擬器雖然功能強大,但它畢竟不是實際使用的手機,用戶也不可能使用模擬器運行應用程序,所以實際移動設備也是測試環節必不可少的工具。
4.Android Debug Bridge(adb)
該工具可將其他工具接入模擬器和設備,它除了可以讓其他工具(游戲邦註:尤其是Eclipse ADT插件)功能生效以外,還可以使命令行上傳或下載文件,安裝或卸載程序包,通過進入設備或模擬器的shell環境訪問許多其他功能。
5.Dalvik Debug Monitor Server(DDMS)
無論是通過獨立應用程序還是Eclipse perspective訪問DDMS,它都能提供檢查、調試、與模擬器及設備實體交互的便利功能。開發者可使用DDMS檢查運行程序和線程,探索文件系統,搜集堆棧和其他內存信息,附上調試器,甚至是抓取視頻截圖。通過模擬器,開發者還可以模擬電話接聽和發送SMS等狀態。
6.LogCat
LogCat是Android日誌系統的名稱,你可以通過Eclipse、adb讀取LogCat數據,它可以提供系統中相關事件的診斷信息。開發者可以由此將應用程序的調試和診斷信息發送到LogCat。
7. Draw 9-Patch
Draw 9-Patch可助開發者更方便地完成應用程序的圖形設計,該工具支持開發者將傳統的PNG圖像文件轉化成更具靈活性、更能有效運用於手機應用開發過程的可擴展圖像文件。這項工具可以在快速顯示效果的環境中簡化NinePatch文件的創建過程。
8.The Hierarchy Viewer
開發者可通過獨立應用程序或者Eclipse perspective訪問The Hierarchy Viewer,它的作用是在運行過程中查看程序的UI布局,提供了一個圖表顯示應用程序布局和視圖層級的情況,開發者可依此判斷程序UI布局的存在問題。
3. android sdk和adt的區別
ADT(Android Development Tools): 目前Android開發所用的開發工具是Eclipse,在Eclipse編譯IDE環境中,安裝ADT,為Android開發提供開發工具的升級或者變更,簡單理解為在Eclipse下開發工具的升級下載工具。adt只是一個eclipse的插件,裡面可以設置sdk路徑 SDK(Software Development Kit): 一般是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平台、操作系統等建立應用軟體的開發工具的集合。在Android中,他為開發者提供了庫文件以及其他開發所用到的工具。簡單理解為開發工具包集合,是整體開發中所用到的工具包,如果你不用Eclipse作為你的開發工具,你就不需要下載ADT,只下載SDK即可開發。SDK可以自己編譯,在linux環境下通過make命令進行,耗時比較長,需要有耐心哦親。。。然後我們可以把自己編譯的SDK通過ADT導入eclipse。在此基礎上可以對源碼包進行修改,比如修改android system/app/phone.apk中的源碼,然後再次調用make命令,就可以產生新的system.image文件,此文件是鏡像文件。 ---------- 手機ROM中包含兩個基本的image,一個是boot.image,這個image中主要是kernel和文件系統/目錄下的一些東西。kernel我就不說了,/目錄下主要是init和相關的配置文件 system.image是android系統的userpace的核心,包括/system/bin,system/lib,system/app下的一些東西
Android平台與SDK Tools版本、ADT版本的對應關系
Android平台 SDK Tools的版本 ADT版本
Android 2.2 R7 ADT-0.9.9
Android 2.3 R8 ADT-8.0.1
Android 3.0 預覽版 R9 ADT-9.0.0
Android 3.0 R10 ADT-10.0.0
Android 3.1 R11 ADT-11.0.0
Android 3.2 R12 ADT-12.0.0
Android 4.0 R14 ADT-14.0.0
SDK 平台版本,以及API版本
Android平台 API 級別
Android 2.0.11 API6
Android 2.1-update1 API7
Android 2.2 API8
Android 2.3 API9
Android 2.3.3 API10
Android 3.0 API11
Android 3.1 API12
Android 3.2 API13
Android 4.0 API14
4. android如何使用linux系統的一些庫
1、放到安卓系統中,每個應用都可以訪問
將編譯好的libmono2.so放到系統的/system/lib目錄下。打開Eclipse上ADT插件裡面的File Explorer工具,點擊/system/lib目錄,選擇右上角有個push a file onto devices,打開對話框後,再選擇libmono2.so文件,確定後即可將lib文件放到手機中了。(如果不行也可以使用ADB自帶adb push命令)。再設置其許可權為744,命令如下:
#用命令行方式訪問手機設備
adb shell
#進入/system/lib目錄
cd /system/lib
#設置libmono2.so許可權為744
chmod 744 libmono2.so
此時利用Jni機制編寫裝載Jni庫方法的類,類裡面需要嚴格按照Jni機制進行編寫Jni介面
2、放到應用軟體中,只有自己的應用可以訪問
①在軟體工程下新建libs/armeabi文件夾,並將libmono2.so庫拷貝進去。
②接下來做的就是重寫Jni介面,和方法1的最後過程是一樣的。