Answers:
更新
自回答此问题以来,对支持库进行了许多更改。好东西是,它的文档也非常好。因此,您必须阅读支持库文档以了解更多详细信息和更多可用的支持库。
从支持库版本26.0.0(2017年7月)开始,大多数支持包的最低支持API级别已提高到Android 4.0(API级别14)。
以下是与支持库软件包的区别:
v4支持库
该库旨在与
Android 1.6(API级别4),Android 2.3(API级别9),Android 4.0(API级别14)及更高版本一起使用。与其他库相比,它包含最大的API集,包括对应用程序组件,用户界面功能,可访问性,数据处理,网络连接和编程实用程序的支持。v7库
有多个库设计用于
Android 2.1(API级别7),Android 2.3(API级别9),Android 4.0(API级别14)及更高版本。这些库提供特定的功能集,并且可以彼此独立地包含在您的应用程序中。v7 appcompat库
该库增加了对操作栏用户界面设计模式的支持。
注意: 此库取决于v4支持库。如果您使用的是Ant或Eclipse,请确保将v4支持库作为该库的类路径的一部分包括在内。
所以是的,如果要使用v7,则需要两个jar。
android-support-v13.jar的更新
API级别27.1.0中已弃用此接口。使用Fragment而不是Framework Fragment。
v13支持库
该库旨在用于Android 3.2(API级别13)及更高版本。它使用(FragmentCompat)类和其他片段支持类添加了对Fragment用户界面模式的支持
当您看到软件包详细信息时,它具有定义中给出的FragmentCompat类。因此,它没有appcompat库的所有类。
API21 and above
,如果您想在较低级别使用它,则应为此使用支持库。因此,您可能仍然需要它API19
。
支持库是代码库(类的集合),它提供了新添加的功能以与较旧的设备一起使用。
例如,材料设计在API 21中引入(是Android 5.0 -棒棒糖),但是
在V7支持库使其可用于API 7(的Android 2.1.x的-Eclair)和更高。
一些主要的支持库是
V4支持库
V7支持库
V8支持库
v13支持库
这意味着该库具有旨在与API级别7或更高版本配合使用的功能。V4也是如此(包含适用于API 4和更高版本的功能)等等。
包括我在内的很少有人对这两个术语感到困惑。实际上,v7 appcompat库是v7支持库的一部分。v7支持库主要是为了支持API 7和更高版本的Material design和ActionBar设计模式而开发的。
V7可以分为更多子类别
v7 appcompat库
v7 cardView库
v7 recyclerView库
v7托盘库等
v7 appcompat库具有以下关键类ActionBar,ActionBarActivity,ShareActionProvider。
所以加上
com.android.support:appcompat-v7:21.0.+
在gradle文件中的依赖项,导入上述类。
其他支持库
Multidex支持库(用于创建具有超过65k方法的应用程序)
v17 Leanback支持库(一个支持库,为Android TV提供重要的小部件)
仅当您的最低sdk版本低于API Level 11时才需要支持库。否则,您无需为Api Level 11或更高版本的项目添加支持库。
android-support-v4.jar: 支持android.app
类,可协助开发适用于android API级别4或更高版本的应用程序。这样您就可以使您的应用程序Backword兼容,
android-support-v7.jar最近更新了最新的支持库。ActionBar允许将操作栏的用户界面设计模式实施回Android 2.1(API级别7)及更高版本。使用此类需要您通过扩展新ActionBarActivity
类来实现您的活动。
如果要在应用程序中添加appcompat操作栏,则需要添加android-support-v7-appcompat.jar和android-support-v4.jar或仅添加android-support-v7-appcompat.jar。
是的,如果要使用它们,则需要添加两个库的引用。
android-support-v13.jar是否具有appcompat?
不,它包含FragmentCompat,因此,如果在版本13之后添加了某些Fragment功能,则可以使它与Api级别11兼容。因此,定位到API 11或更高版本的应用程序可以使用在较新版本中添加的功能。
DrawerLayout
/ NavigationDrawer
当前仅存在于支持库中。
首先,我们需要了解什么是Android支持库?
Android支持库最初发布于2011年,可以说是Android兼容性库。Android支持库为较旧的版本提供了更新的API。但是,故事还不够。
拥有较高版本号的支持库包括以前库的功能(您可能会认为v7-appcompat在v4的基础上进行了改进并包含了所有功能),这有点令人困惑。在大多数情况下,这是不正确的。但是库本身具有修订号。例如,“ AppCompat v21”实际上是指支持库v7-appcompat,版本21。
Android支持库不是单个库,而是可以大致分为两类:兼容性库和组件库。
1-兼容性库专注于从较新的框架版本向后移植功能,以便运行早期版本的设备可以利用较新的API。主要的兼容性库是v4和v7-appcompat。
v4库:它包含许多功能,并且顾名思义,它支持API4。此外,为了支持Fragment和Loader等主要类的实现(它们都在API 11的框架中引入),您还将找到框架中根本不存在的几个广泛使用的类,例如ViewPager和DrawerLayout。
v7-appcompat:v7-appcompat库提供了对ActionBar(在API 11中引入)和Toolbar(在API 21中引入)的支持实现,以便发布回API7。它需要v4库,但不包括它。因此,任何依赖于v7-appcompat的功能也都依赖于v4。
2组件库 Android支持库还提供了更小,更模块化的组件库,使开发人员能够添加原本不属于标准框架的功能。这些自包含的库可以轻松添加到项目中或从项目中删除,而无需担心依赖项。有几个有价值的组件库需要考虑:
v7-recyclerview:提供RecyclerView组件,该组件可有效显示和动画大量数据,并旨在替代ListView
v7-cardview:提供CardView组件,启用卡UI设计模式
v7-gridlayout:提供GridLayout类,该类可将UI元素组织成一个矩形网格。等等..
其他库 Android支持库还包含一些其他库,这些库的使用频率较低,但仍然值得一提:
v8:为RenderScript(API 11中引入)提供了对API 8的支持。
v13:为Fragment UI模式提供额外的兼容性支持,并捆绑了v4 librar
v17:为构建电视UI提供支持
我什么时候应该使用Android支持库?
当您需要比应用程序的minSdkVersion更新或标准框架中不可用的特定框架功能时,应使用支持库之一。
我参考这个教程
此答案与版本大于等于26.0.0的支持库的客户端有关:
警告:从支持库版本26.0.0(2017年7月)开始,大多数支持库的最低支持API级别已提高到Android 4.0(API级别14)。
例如,support-v4和support-v7软件包都支持最低API级别14,以支持26.0.0及更高版本的Support Library 。
有关更多信息,请参见支持库-版本支持和程序包名称。