一、為什麼需要Support
包
由於應用除了會依賴library
和jar
包外,還需要依賴安卓系統本身的程式碼,也就是我們在SDK
每個版本中看到的android.jar
,這裡面整合了Android
的所有API
,隨著SDK
版本的升級,高版本的SDK
中會增加新的API
,如果在低版本中要使用這些新增的API
,那麼只能將新增的API
以依賴包的形式整合到需要使用高版本API
的應用當中,也就是support
包。
二、Support
包的結構

2.1 V4
在Android Support Library 24.2.0
以前,v4
包支援的最小API
為4,而在之後的版本,移除了8及以下版本的支援,同時,將v4
包拆分成了獨立的5個包。
com.android.support:support-compat:24.2.1
說明:相容一些framework API
,例如Context.getDrawable
和View.performAccessibilityAction
。com.android.support:support-core-utils:24.2.1
說明:提供一些核心的工具類,如AsyncTaskLoader
和PermissionChecker
。com.android.support:support-core-ui:24.2.1
說明:提供一系列核心的UI
,例如ViewPager
、NestedScrollView
和DrawerLayout
。com.android.support:support-media-compat:24.2.1
說明:媒體android.media
相容庫,包括MediaBrowser
和MediaSession
。com.android.support:support-fragment:24.2.1
說明:依賴了其它4個子庫,一旦匯入這個包就會匯入其餘的庫。
依賴關係:

2.2 V7
V7
也包含多個獨立包,從24.2.0
開始,將V7
支援的最低版本升為9。
com.android.support:appcompat-v7:24.2.1
說明:這個支援對ActionBar
介面的設計模式,Material Design
介面的實現等,核心類包括ActionBar
、AppCompactActivity
、AppCompactDialog
、ShareActionProvider
等。com.android.support:cardview-v7:24.2.1
說明:CardView
控制元件com.android.support:gridlayout-v7:24.2.1
說明:GridLayout
佈局com.android.support:mediarouter-v7:24.2.1
說明:用於裝置間音訊、視訊交換顯示的support
包。com.android.support:palette-v7:24.2.1
說明:提取圖片中的主題色com.android.support:recyclerview-v7:24.2.1
說明:RecyclerView
com.android.support:preference-v7:24.2.1
說明:支援控制元件儲存配置資料的,例如CheckBoxPreference
和ListPreference
。
2.3 V8
用於渲染指令碼的support
包
2.4 V13
為API
為13或以上的Fragment
提供更多特性的支援。
##2.5 com.android.support:multidex:1.0.0
用於使用多Dex
技術編譯APP
,當一個應用的方法數大於65536時,需要使用multidex
配置。
2.6 com.android.support:support-annotations:24.2.1
支援註解。
2.7 com.android.support:design:24.2.1
用於支援Design Patterns
的Support
包,它提供了Material Design
設計風格的控制元件:
FloatingActionButton
Snackbar
TextInputLayout
TabLayout
AppBarLayout
CollapsingToolbarLayout
CoordinatorLayout
NavigationView
2.8 com.android.support:customtabs:24.2.1
在應用中新增和管理Custom Tabs
的support
包,提供了一種新的開啟網頁的方式。
2.9 com.android.support:percent:24.2.1
支援百分比佈局的support
包。
更多文章,歡迎訪問我的 Android 知識梳理系列:
- Android 知識梳理目錄:www.jianshu.com/p/fd82d1899…
- 個人主頁:lizejun.cn
- 個人知識總結目錄:lizejun.cn/categories/