Android項目中導入support v4和v7


google提供了 Android Support Library package 系列的包來保證來高版本sdk開發的向下兼容性,即我們用4.x開發時,在1.6等版本上,可以使用高版本的有些特性,如 Fragement,ViewPager等,下面,簡單說明下這幾個版本間的區別:

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

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

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


有這么一個問題:

開發中ADT新建項目的時候,會自動幫你將v4.jar綁定加入到你的項目中,但是你無法查看v4.jar的源碼,怎樣能夠查看其中的源碼?

 

然后,在SDK的目錄下去尋找/extras\android\support\v4下的jar包 ,然后添加到其中去。最后,便可以按以往的步驟綁定源碼了,右鍵jar包,attach  sourch  file 源碼文件進入,源碼文件的位置在選中即可。

一、下載Support Library

方法1:右擊項目→選擇Android Tools→Add Support Library…

image

方法2:

通過SDK Manager獲取Support Library:

1.打開Android SDK Manager

2.在SDK Manager窗口,滾動到Package List的末尾,找到Extra文件夾,如果需要的話打開文件夾顯示它的內容。

3.選擇Android Support Library項目。

注意:如果你使用的是Android Studio開發,選擇並安裝Android Support Repository項目而不是Android Support Library項目。

4.點擊Install packages按鈕。

下載完成后,SDK會將Support Library文件安裝到你已經存在的Android SDK目錄下。庫文件位於SDK的如下子目錄:<sdk>/extras/android/support/目錄。

 

二、添加V4兼容包(v4 appconpat)

  1. 確保你已經利用SDK Manager下載了Android Support Library 。
  2. 在你的項目的根目錄下創建一個libs/目錄。
  3. 從你的Android SDK安裝目錄(例如,<sdk>/extras/android/support/v4/android-support-v4.jar)下拷貝JAR文件到你項目的libs/目錄下。
  4. 右鍵點擊JAR文件並選擇Build Path > Add to Build Path。

三、添加V7兼容包(v7 appconpat)

創建一個基於support library代碼的 library project

  1. 確保你已經利用 SDK Manager下載了Android Support Library
  2. 創建一個library項目並且確保需要的JAR文件包含在了項目的build path中:
    1. 選擇File > Import
    2. 選擇Existing Android Code Into Workspace 並點擊Next
    3. 瀏覽SDK安裝目錄,並進入Support Library目錄下。例如,如果你要添加appcompat項目,瀏覽 <sdk>/extras/android/support/v7/appcompat/。
    4. 點擊Finish引入項目。對於v7 appcompat項目,你將看到一個標題為android-support-v7-appcompat的新項目。
  • image
    1. 在新項目中,展開libs/ 文件夾,右鍵點擊每一個.jar文件,並選擇Build Path > Add to Build Path。例如,當創建v7 appcompat項目時,同時將android-support-v4.jar和android-support-v7-appcompat.jar文件添加到build path中。
    2. 右鍵點擊library項目文件夾並選擇Build Path > Configure Build Path
    3. 在Order and Export選項中,在剛剛添加到build path中的.jar文件上打勾,這時這些文件成為項目可用的了並依賴於這個library項目。例如,appcompat項目要求同時導出 android-support-v4.jar和android-support-v7-appcompat.jar文件。
    4. 去掉Android Dependencies上的對勾。
    5. 點擊OK完成設置

image

 

 

現在你擁有了一個包含你選擇的Support Library的library項目,你可以在一個或多個應用項目中利用這個Support Library。

 

現在我們要向應用工程(需要加入Support Library的工程)添加庫:

  1. 在項目瀏覽器中右鍵單擊你的項目,選擇Properties
  2. 在左邊的分類面板中,選擇Android
  3. 在Library面板中,點擊Add
  4. 選擇庫項目,然后點擊OK。例如,appcompat項目會在列表中顯示為android-support-v7-appcompat
  5. 在properties窗口中,點擊OK

image

 

遇到的問題:

1、java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr

這個問題,是因為app在運行時沒有找到對應的V7兼容包導致的,請參考文中  添加V7兼容包(v7 appconpat)

2、java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

完成上文提到的1,3步驟后,修改android:theme為@style/Theme.AppCompat

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM