Android Support v4、v7、v13的區別以及應用場景

weixin_34037977發表於2015-10-14

一、簡介

在 Android 開發中,為了使用高版本API的新特性,需要新增額外的包來使用這些新特性,這就是 Android Support 包

二、分類

  • Android Support v4: 這個包是為了照顧Android 1.6及以上版本而設計的,在開發中,預設都會使用到這個包
  • Android Support v7: 這個包是為了照顧Android 2.1及以上版本而設計的,但是不能相容低版本 Android 系統,如果開發中不考慮 1.6 ,可以採用這個包。另外要注意的是,v7 包是依賴 v4 包的,即引入 v7 包的話要同時引入 v4 包
  • Android Support v13: 這個包是為了照顧Android 3.2及以上版本而設計的,一般開發中不會用到,平板開發可能會用到

三、額外問題

1、檢視V4包的原始碼

在大部分開發中,開發工具會自動將 v4.jar 引入到專案中,但是無法檢視 v4.jar 的原始碼

解決方案:
將SDK中的 /extras/android/support/v4 目錄下的jar包新增到工程中,引入原始碼。

2、eclipse 開發中自動生成 appcompat_v7 庫專案報錯

在上面有說到 v7 包是為了照顧Android 2.1及以上版本,使其可以使用高API的新特性

假設在 eclipse 中建立專案時最低 sdk(Minimum Required Sdk)選擇了 api14 以下,而編譯版本(Compile Sdk)又選擇了高於 api14 的版本,此時為了能使用新特性,eclipse會自動建立 appcompat_v7 庫專案,並將其引用到專案中
很多初學者在此時很容易出現錯誤,eclipse 找不到資源,原因是因為目標sdk(Target Sdk)低於 sdk 環境中的最高版本(即你自己下載的sdk的最高的版本)

解決方案:

  • 方案一:將目標sdk(Target Sdk)設為已下載的最高版本,此時依舊會自動建立 appcompat_v7 庫專案,並將其引用到專案中,但是不會再報錯了

  • 方案二:將最低 sdk(Minimum Required Sdk)設為高於 api14 的版本。這時, eclipse 不會建立 appcompat_v7 庫專案,因為 api14 以上的android版本不需要依賴該庫專案來使用新特性。

相關文章