簡單說說Java程式和Android開發框架
Java程式(最簡單的就是跑在pc上的)的開發,首先應該有一個開發環境,較為通用的就是eclipse。在eclipse中建一個Java工程如下:
工程中就兩個資料夾,一個是src,一個是JRE System Library.後者中的jar都是Java最基本的開發包,而且可以看到這些jar來自於jre安裝目錄下的lib. Jre 全名:java runtime environment java 執行時環境,它是給Java程式執行提供最基本的API和jvm(虛擬機器)。
對於Android工程(eclipse開發環境):
選擇工程右擊-> properties -> android
可以看到上面的圖,上面是選擇Android.jar版本,其中含有Android系統中的API也包含Java最基本的API(如上面所說的Java程式最基本的API)。同時工程中也包含有Android-support-v4.jar這個是為Android程式提供的包,裡面主要是Android系統API。這個API是在sdk的安裝目錄下面。
對於Android studio:
gradle檔案中配置的,裡面有sdk API版本和buildtool版本,buildTool版本是Android 編譯工具版本,我們編譯Android工程不僅僅是jdk編譯我們的Java類檔案,還有res下面的各種xml檔案,還有manifest檔案等。這個檔案的編譯是BuildTool做的。其中還含有開發工具,如debug,logcat,虛擬機器等。
或者檢視Android API包的版本可以在:
對於在manifest檔案中:
我們配置了最小的sdk 版本和目標版本,就是要求最小的系統版本和最適合的系統版本(因為API和系統是對應的)。
對比Android和Java程式,我們可以這麼理解:Java程式的開發我們是需要安裝jre,其中包含了API和jvm,我們編譯的時候藉助jdk也需要藉助jre中的API,生成的jar,最終跑在jre中的jvm(虛擬機器)上。Android應用開發,我們需要安裝jdk、sdk和build tools(也就是adt)。編譯Java類檔案需要jdk和sdk中的API(包含Java基礎API和Android系統API),build tools 將我們開發的xml,asset等資料夾和檔案以及jdk編譯的Java class檔案,最終整體編譯。最後使用bulid tools工具打包成apk,或者Android studio中gradle工具使用gradle外掛打包。打包生成的apk安裝在Android系統中,執行的時候,Android系統會提供虛擬機器。