Android Private Libraries 和 Dependencies的區別

來源:互聯網
上載者:User

標籤:系統版本   關係   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的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.