如果我的应用程序的最小 skd = 21,我应该使用哪些支持库?

Which support libraries should I use if my app has minimum skd = 21?

首先,让我说 Android 支持库对我来说仍然有点吓人。我还不是专家。关于使用它们在 Lollipop 之前的设备上获得 api>=21 功能的文章很多,但是如果我的 minSdkVersion 是 21,我应该使用什么?

例如,考虑 Toolbar。为什么我不应该使用原生版本而不是 support.v7.widget.Toolbar?它应该可以在所有 post-Lollipop 设备上正常工作。或者,如果这是一个幼稚的假设,是否有我应该使用的更新的支持库?

最有可能(虽然可能不是现在)最好使用支持库版本而不是系统版本。随着新 Android 版本的出现,支持库会添加功能。因此,借助支持库工具,您将获得适用于 21、22、23 及以后的功能。如果 Android 的某些版本无法实现这些功能,支持库也会自动处理错误(例如 23 中引入的新权限 api)。

对于系统版本,您必须检查自己是否在 21、22、23 上才能使用特定的方法或功能。

现在,与此同时,您可能并不特别关心这些未来的功能。例如 Toolbar 非常方便且功能强大。如果您仅使用 21 个 API 编写内容,那么它们(应该)适用于未来的 Android 版本。