標籤:系統版本 關係 rss 安裝 版本相容 log 運行 end 方式
Android項目開發中,是不是常看到android-support-v4.jar、appcompat_v7.jar等的jar包? 至於為什麼要添加這些包?添加有什麼用?添加到哪裡?相信很多人沒過多關注,或者只知其然,而不知其所以然。下面我們就來學習一下~~
一、v4/ v7/ v13的作用與區別
1. v4/ v7/ v13是什嗎?
本質上就是android提供的三個java library.
2. android為什麼要提供這些庫?
google提供了Android Support Library package 系列的包來保證來高版本sdk開發的向下相容性。
如果在低版本Android平台上開發一個應用程式,而應用程式又想使用高版本才擁有的功能,就需要使用Support庫。比如,在2.2平台開發了一個app, 安裝到4.0平台上,想運用4.0上的新功能,那麼app裡面就需要添加V4庫支援;反過來,如果在4.0平台開發了一個app,想安裝到2.2平台,可能會失敗,因為4.0的應用可能使用了一些新功能,調用了新API,但2.2平台沒能,所以想成功要做向下相容。
??android api向來是高版本相容低版本.如api-8(android2.2)必會相容api-4(android 1.6).但是反之則不會,你使用2.2的平台版本build了一個apk,若想能在1.6上運行,則需要做向下相容. android support-xx是google官方的向下相容包.如名所示,會協助構建程式向下相容到1.6版本.不過也並非萬能的,還是會受限制. Android 為了相容2.X以下的版本,所以出了android.support.v4的包,該包的主要作用是便於開發人員在2.X的開發環境中,使用4.0的控制項。
3. v4/ v7/ v13的作用與區別
android-support-v4
是Google推出的相容包,最低相容Android1.6的系統,裡面有類似ViewPager等控制項。ViewPager在Android 1.6以下的版本是不內建的,所以要實現ViewPager需要使用v4包中的ViewPager。其餘控制項同理。
android-support-v7
是Google推出的版本相容包,最低相容Android2.1的系統,這個包通常和appcompat-v7這個工程一起使用。appcompat-v7這個工程可以讓開發人員統一開發,在任何系統版本下保證相容性。涉及的內容有Theme,value,布局,新的控制項,新的動畫實現方式,包含了support-v4的全部內容,開發Android工程時,要相容低版本都要匯入v7工程。android studio在建立工程的時候預設匯入了v7工程,並且將style使用了相容style,給開發人員提供了極大的方便。並且最新的v7包增加了很多material design的相容類和素材,請及時更新。
android-support-v13
是Google推出的版本相容包,最低相容Android3.2的系統。當初是為了開發平板做設計的。
二、Android Private Libraries、android Dependency、libs三者關係
1. 三者的內容作用
Android Private Libraries: 表示放在libs裡面的jar包引用和依賴項目Dependencies中的包,視為私人引用
Android Dependencies: 會顯示引用項目,依賴項目
libs: 表示引用的外部jar包。
2. libs和Android Private Libraries的關係
Eclipse建立Android項目,其中有一個libs目錄,在裡面放從外部參考的第三方Lib庫檔案,比如項目開發中需要載入圖片,這個如果自己實現,耗時費力還不一定好,直接引用別人的庫實現,如Universal-Image-Loader庫就非常完美。
添加方式:直接複製粘貼到Libs目錄下即可。
在libs中添加的庫, 都會自動對應到Android Private Libraries目錄下,如所示,在libs中引用添加了四個外部庫檔案,而eclipse會自動對應到private libraries目錄。
3. Android Dependency 和 Android Private Libraries的關係
Android Dependency 目錄在eclipse上也是自動產生的,這個目錄主要是放依賴項目的。比如,之前開發了一個項目A,現在新的項目B要使用項目A的功能,那麼把項目A作為類庫關聯進來,這樣B就能直接使用A的功能,而不用從新開發。
添加方式:項目B右鍵 - 》Properties -》Android -》Add... -》顯示eclipse上所以的庫類項目 -》選擇需要的項目,確認就添加到Dependency 目錄下(如)
如,項目MMCamera成功添加了兩個依賴項目appcompat_v7 和google-play-services_lib
項目A添加了依賴項目B,那麼項目B的Android Private Libraries目錄下面的所有庫都會映射到項目A的Android Private Libraries目錄下面。也就是說,項目B中用到了那些庫,那麼項目A中必須也包含這些庫。如所示,
三、總結
1. libs目錄放項目從外部參考的第三方庫;
2. Android Dependency目錄放引用的依賴項目;
3. Android Private Libraries映射所有libs中的庫,同時映射所有依賴項目中用到的庫。如果有重複的,只映射一個。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Android Private Libraries 和 Dependencies的區別