了解 Android 个支持库

Understanding Android support libraries

我目前正在阅读 Android 支持库(我知道 Jetpack/AndroisX,但还不能使用它们)。

我知道 v7 依赖于 v4,所以通过添加 v7 我得到了 v4 以及 v7 附带的内容。我不明白的是其他 v<number> 像 v8,v13。他们扩展了 v7 吗?一般来说,如果我使用 Android 支持库启动一个新应用程序,我会使用最高的 v<number> 还是 v7?

您应该将 v4、v7、v13 视为库的名称,而不是实际的 "version"。在某种程度上,它们只是图书馆的名称。

每个 Android 支持库都带有自己的一组子库。这些子库可以在一个库(例如 v7)中找到,因此,您不能只使用最高编号(如果您尝试使用 v13,则会出现错误)。

CardView 例如。您可以使用 com.android.support:cardview-v7:28.0.0 将其添加到您的项目中。它只能在 v7 库中找到。如果您尝试通过 com.android.support:cardview-v13:28.0.0 导入,则会出现错误。

有些 类 可以在多个库中找到(例如 Fragments)。它们可以在 v4 和 v13 中找到。但是,每个 类 都有不同的实现。所以,你应该根据你的 project/necessity 使用 v4 或 v13。您不需要简单地使用最高数字,因为它们只是名称...不是实际版本。

例如,如果您只是使用 v13,则不会获得 v7 子库,因为 v13 库不依赖于 v7 库。