一、appcompat_v7項目說明
今天來說一下appcompat_v7項目的問題,使用eclipse創建Android項目時,發現project列表中會多創建出一個appcompat_v7項目,這是我搭建最新的Android開發環境創建第一個Android測試項目后發現的,我在創建Android時選擇的Minimum Required SDK是API:8 Android 2.2(Froyo),如下圖所示:
在這里解釋一下這些名詞:
- SDK 是 Software Development Kit (軟件開發工具包)的縮寫。
- Minimum Required SDK:最低支持SDK,一般默認的是8,即使應用根本不會在那么低的Android版本上運行;
- Target SDK:目標SDK,即最高支持SDK,應用最佳運行的Android版本,不能低於Minimum Required SDK;
- Compile With:編譯的API(應用程序編譯接口),即當前編譯應用所用的API版本(也可以理解為SDK版本),一般默認與Target SDK相同,也可以高於Target SDK。
結果創建完項目之后就多創建出一個appcompat_v7項目,如下圖所示:

appcompat_v7是作為一個類庫項目存在的,本身不能單獨運行,而HelloAndroid項目則引用了appcompat_v7項目,繼而可以使用appcompat_v7編寫好的類庫,如下圖所示:
上網查了一下為什么會出現appcompat_v7這個項目,原來是:appcompat_v7是Google自己的一個兼容包,就是一個支持庫,能讓Android2.1以上全使用上4.0版本的界面。而剛才我們創建項目時,選擇的能夠運行HelloAndroid這個Android項目的最低Android版本(Minimum Required SDK)是API:8 Android 2.2(Froyo),所以Eclipse認為我們開發的應用要能夠在Android2.2版本的系統上面運行,因此自動幫我們創建了appcompat_v7這個項目。appcompat_v7這個項目我們在開發中基本上不用理會的,專心在我們自己的項目上面做開發就好了。
二、創建項目避免創建appcompat_v7項目的辦法
在上面,我們已經知道了appcompat_v7這個項目為什么會被創建出來的原因,appcompat_v7是一個支持庫,能讓Android2.1以上全使用上4.0版本的界面。如果我們開發的應用不需要在Android4.0以下的平台運行,那么我們建項目時直接把最小SDK選在Android4.0以上,這樣創建項目就可以避免多創建appcompat_v7這個項目,如下圖所示:
創建項目時選擇Minimum Required SDK是API:15 Android 4.0.3,如下圖所示:
這就表示我們的HelloAndroid應用最低只能在Android4.0.3的系統上運行,低於Android4.0.3的Android系統就無法運行我們這個應用了。
這回創建出來的就只有HelloAndroid一個項目了,如下圖所示:
也就是說:使用Eclipse創建Android項目時,如果選擇的Minimum Required SDK是低於Android4.0以下的,那么Eclipse就會自動創建多一個appcompat_v7項目,如果選擇的Minimum Required SDK是Android4.0以上的,那么Eclipse就不會創建appcompat_v7項目。
