minSdkVersion > 21 是否需要 vectorDrawables.useSupportLibrary 标志

Is vectorDrawables.useSupportLibrary flag needed for minSdkVersion > 21

我想启用 AndroidX 矢量支持(使用 app:srcCompat、AppCompatResources.getDrawable) 如果项目 minSdkVersion > 21,是否需要启用 vectorDrawables.useSupportLibrary?

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

Nick Butcher 说我们确实需要。但我有疑问。

问:minSdkVersion=21及以上可以跳过这一步,我的理解是否正确?

A: No! If you do that then you can’t use newer features on older platforms e.g. fillType was added in API24, if you omit this flag then you won’t be able to use this feature on APIs 21–23.

是的,如果你的 minSdkVersion > 21,你可以跳过这个。

这适用于 21 以下的 minSdkVersion。如果您的 res/drawable 中有 vectorDrawable 图像,Gradle 插件将自动生成 API 级别 20 及以下的光栅 PNG 图像构建时间。这意味着您只需更新和维护您的应用程序项目的矢量资源,AndroidStudio 可以处理图像转换过程。