Android工程中三種庫的區別:Private Libraries、Referenced Libraries、Dependency Libraries

轉自:https://blog.csdn.net/mybook1122/article/details/46554933

一、v4、v7、v13的作用和用法

1、Android Support V4, V7, V13是什麼?

本質上就是三個java library。

2、爲什麼要有support庫?

  是爲了解決軟件的兼容問題。如果在低版本Android平臺上開發一個應用程序,而應用程序又想使用高版本才擁有的功能,就需要使用Support庫。 
  android api向來是高版本兼容低版本.如api-8(android2.2)必會兼容api-4(android 1.6).但是反之則不會,你使用2.2的平臺版本build了一個apk,若想能在1.6的手機上運行,則需要在build之前使用兼容包,來做向下兼容. 
  android support-xx是google官方的向下兼容包.如名所示,會幫助構建程序向下兼容到1.6版本.不過也並非萬能的,還是會受限制. 
  Android 爲了兼容2.X以下的版本,所以出了android.support.v4的包,該包的主要作用是便於開發者在2.X的開發環境中,使用4.0的控件。

3、三個Support 庫的區別和作用是什麼?

   簡單說明下這幾個版本間的區別:

  • Android Support v4: 這個包是爲了照顧1.6及更高版本而設計的,這個包是使用最廣泛的,eclipse新建工程時,都默認帶有了。

  • Android Support v7: 這個包是爲了考慮照顧2.1及以上版本而設計的,但不包含更低,故如果不考慮1.6,我們可以採用再加上這個包,另外注意,v7是要依賴v4這個包的,即,兩個得同時被包含。

  • Android Support v13 :這個包的設計是爲了android 3.2及更高版本的,一般我們都不常用,平板開發中能用到。

4、Android Support 包裏究竟有什麼

http://www.2cto.com/kf/201411/350928.html

二、看一個javaee項目(使用myeclipse開發)

這裏寫圖片描述

  • jre system library:JRE system library裏面的jar是java運行依賴的類庫(很多的jar包)。

  • java ee 5 libraries:Java EE libraries裏面的jar是運行web工程依賴的類庫(很多的jar包)。

  • referenced libraries:是項目需要引用的類庫,這裏直接就是lib下的東西的引用。

  • lib:放第三方的各種項目所需的jar包。添加jar包到lib裏面,系統自動把jar加載到referenced libraries中。

三、看一個android項目(使用eclipse開發)

這裏寫圖片描述

  • Android4.4:直接支持的jar包,我們開發軟件可以不用v4,用這個包裏的內容也可以,但是爲了兼容性,必須用v4.

  • Android Private Libraries:表示放在libs裏面的jar包引用,視爲私有引用。存放的是android私有的庫(libs目錄下的)。添加jar包到libs裏面,系統自動把jar加載到android private libraries中;Private Libraries 就是libs裏面的jar包的映射!你把libs中的jar包移除 Private Libraries中也就沒有了。

  • Libs:不再說明

  另外其實還有一個android Dependency,暫時不知道android Dependency和Android Private Libraries的區別: 
  百度的一種答案: 
  Android Private Libraries引用的是第三方jar包,dependencies是引用的libraries。

  java中library和jar包有什麼區別? 
  library是類庫,就是一堆.jar文件的集合.一般情況下都是若干個.class文件能實現一組功能,這時候便可以把這些.class文件打包成.jar文件.比如說當需要使用集合類的時候,咱們需要import java.uitl.*; 對應的就是一個jar包(.jar文件)它裏面就是一堆.class文件. 
  基本上是沒有什麼區別的,但是你可以這麼理解:LIB中的東西一般是比較正規化的東西,而JAR包裏面是隨便是什麼人都是可以打的,但是具體用處到底有多大那就不一定了。但是如果做到比較好的話,那麼LIB基本上和JAR包應該差不多的。

四、總結

  比較兩個項目的結構,也可以看出谷歌並沒有遵循標準的eclipse項目結構,有自己的標準。

五、另外一點知識:

這裏寫圖片描述

  eclipse 中 構建路徑下的 order and export 是幹什麼用的 
  構建順序和 導出的時候要導出哪些資源,order就是使用class的順序(因爲可能出現class同名的情況),export就是把用到的一些的lib和project同時發佈。 
  在order and Export條目中,不能重複將jar包打入到APK中,現在android將導出的jar包分爲Android Dependencies和Android Private libraries兩種,目的是供開發者選擇,但是一般這兩個都要打入Apk中!

發佈了2 篇原創文章 · 獲贊 34 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章