昨天添加Android相容包,碰到了很多問題,在這裡記錄一下,讓後面的路好走。
如何選擇相容包,
請參考Android Support Library Features(二)
一、下載下傳Support Library
方法1:右擊項目→選擇Android Tools→Add Support Library…

方法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)
- 確定你已經利用SDK Manager下載下傳了Android Support Library 。
- 在你的項目的根目錄下建立一個libs/目錄。
- 從你的Android SDK安裝目錄(例如,<sdk>/extras/android/support/v4/android-support-v4.jar)下拷貝JAR檔案到你項目的libs/目錄下。
- 右鍵點選JAR檔案并選擇Build Path > Add to Build Path。
三、添加V7相容包(v7 appconpat)
建立一個基于support library代碼的 library project:
- 確定你已經利用 SDK Manager下載下傳了Android Support Library。
- 建立一個library項目并且確定需要的JAR檔案包含在了項目的build path中:
- 選擇File > Import。
- 選擇Existing Android Code Into Workspace 并點選Next。
- 浏覽SDK安裝目錄,并進入Support Library目錄下。例如,如果你要添加appcompat項目,浏覽 <sdk>/extras/android/support/v7/appcompat/。
- 點選Finish引入項目。對于v7 appcompat項目,你将看到一個标題為android-support-v7-appcompat的新項目。
- 在新項目中,展開libs/ 檔案夾,右鍵點選每一個.jar檔案,并選擇Build Path > Add to Build Path。例如,當建立v7 appcompat項目時,同時将android-support-v4.jar和android-support-v7-appcompat.jar檔案添加到build path中。
- 右鍵點選library項目檔案夾并選擇Build Path > Configure Build Path。
- 在Order and Export選項中,在剛剛添加到build path中的.jar檔案上打勾,這時這些檔案成為項目可用的了并依賴于這個library項目。例如,appcompat項目要求同時導出android-support-v4.jar和android-support-v7-appcompat.jar檔案。
- 去掉Android Dependencies上的對勾。
- 點選OK完成設定
現在你擁有了一個包含你選擇的Support Library的library項目,你可以在一個或多個應用項目中利用這個Support Library。
現在我們要向應用工程(需要加入Support Library的工程)添加庫:
- 在項目浏覽器中右鍵單擊你的項目,選擇Properties。
- 在左邊的分類面闆中,選擇Android。
- 在Library面闆中,點選Add。
- 選擇庫項目,然後點選OK。例如,appcompat項目會在清單中顯示為android-support-v7-appcompat。
- 在properties視窗中,點選OK。
遇到的問題:
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
參考連結
Android Support Library(一)
Android Support Library Features(二)
Android Support Library Setup(三)
Support Library
作者:kissazi2
出處:http://www.cnblogs.com/kissazi2/
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。