148

我想知道android-support-v4.jarandroid-support-v7-appcompat.jar之间的区别。如果我想在我的应用程序中添加 appcompat 操作栏,我需要同时添加android-support-v7-appcompat.jarandroid-support-v4.jar还是只添加android-support-v7-appcompat.jar

另外,android-support-v13.jar有 appcompat 吗?

4

4 回答 4

170

UPDATE

There are many changes done into support library since this question was answered. Good thing is, it is very well documented also. So you must read Support Library Documentation for more details and more available support library.

Starting with Support Library release 26.0.0 (July 2017), the minimum supported API level across most support libraries has increased to Android 4.0 (API level 14) for most library packages.


Below is difference from Support Library Packages:

v4 Support Library

This library is designed to be used with Android 1.6 (API level 4) Android 2.3 (API level 9) Android 4.0 (API level 14) and higher. It includes the largest set of APIs compared to the other libraries, including support for application components, user interface features, accessibility, data handling, network connectivity, and programming utilities.

v7 Libraries

There are several libraries designed to be used with Android 2.1 (API level 7) Android 2.3 (API level 9) Android 4.0 (API level 14) and higher. These libraries provide specific feature sets and can be included in your application independently from each other.

v7 appcompat library

This library adds support for the Action Bar user interface design pattern.

Note: This library depends on the v4 Support Library. If you are using Ant or Eclipse, make sure you include the v4 Support Library as part of this library's classpath.

So yes you need both jars if you want to use v7.


Update for android-support-v13.jar

v13 Support Library

This interface was deprecated in API level 27.1.0. Use Fragment instead of the framework Fragment.

v13 Support Library

This library is designed to be used for Android 3.2 (API level 13) and higher. It adds support for the Fragment user interface pattern with the (FragmentCompat) class and additional fragment support classes

When you see the package details it has a class FragmentCompat as given in definition. So it has not the all classes of appcompat library.

于 2013-08-16T10:47:09.737 回答
52

什么是支持库?

支持库是代码库(类的集合),它使新添加的功能可以与旧设备一起使用。
例如,材料设计是在 API 21 (Android 5.0 - Lolipop) 中引入的,但
v7 -support 库使其可用于 API 7 (Android 2.1.x -Eclair) 及更高版本。

有哪些不同的支持库?

一些主要的支持库是

  • V4 支持库

  • V7 支持库

  • V8 支持库

  • v13 支持库

v7 支持库中的 7 代表什么?

这意味着该库具有设计用于 API 级别 7 及更高级别的功能。V4 也是如此(包含适用于 API 4 及更高版本的功能)等等。

v7 支持库和 v7 appcompat 库之间的区别?

包括我在内的很少有人对这两个术语感到困惑。实际上,v7 appcompat 库是 v7 Support 库的一部分。v7 支持库主要用于支持 API 7 及更高版本的 Material 设计和 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 提供重要小部件的支持库)

相关链接

于 2018-03-06T11:42:03.927 回答
44

仅当您的最低 sdk 版本低于 API 级别 11 时才需要支持库。否则,您不需要为 Api 级别 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 或更高版本的应用程序可以使用在较新版本中添加的功能。

于 2013-08-16T10:56:17.840 回答
5

此答案与版本 >= 26.0.0 的支持库的客户相关:

注意:从支持库版本 26.0.0(2017 年 7 月)开始,大多数库包中支持的最低 API 级别已提高到Android 4.0(API 级别 14)

例如,support-v4 和 support-v7 包都支持最低 API 级别 14,用于从 26.0.0 和更高版本开始的支持库版本。

有关详细信息,请参阅支持库 - 版本支持和包名称

于 2017-11-20T19:04:12.087 回答