0
点赞
收藏
分享

微信扫一扫

【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#vectorDrawables 配置 )



文章目录

  • ​​一、ProductFlavor#vectorDrawables 配置​​


Android Plugin DSL Reference 参考文档 :

  • 文档主页 :​ ​​https://google.github.io/android-gradle-dsl/2.3/​​

  • AppExtension ( build.gradle#android 配置 ) 文档位置 :​ ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.AppExtension.html​​

  • build.gradle#android 模块配置文档 :​ ​​android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html​​

  • ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 :​ ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html​​

  • ProductFlavor#externalNativeBuild 配置 ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) :​ ​​com.android.build.gradle.internal.dsl.ProductFlavor:externalNativeBuild​​

  • ExternalNativeBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) 文档位置 :​ ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.ExternalNativeBuildOptions.html​​

  • NdkBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild#ndkBuild 配置 ) 文档位置 :​ ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.NdkBuildOptions.html​​

  • CmakeOptions ( build.gradle#android#defaultConfig#externalNativeBuild#cmake 配置 ) 文档位置 :​ ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.CmakeOptions.html​​

  • JackOptions ( build.gradle#android#defaultConfig#jackOptions 配置 ) 文档位置 :​ ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.JackOptions.html​​

  • AnnotationProcessorOptions ( 注解处理器配置 ) ( build.gradle#android#defaultConfig#javaCompileOptions配置 ) 文档位置 :​ ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AnnotationProcessorOptions.html​​

  • NdkOptions ( build.gradle#android#defaultConfig#ndk 配置 ) 文档位置 :​ ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.NdkOptions.html​​

  • VectorDrawablesOptions ( build.gradle#android#defaultConfig#vectorDrawables 配置 ) 文档位置 :​ ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html​​

  • NDK 参考文档 :​ ​​Add C and C++ Code to Your Project.​​





一、ProductFlavor#vectorDrawables 配置


ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 :​ ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html​​



ProductFlavor#vectorDrawables 配置 , 用于配置当前 Android 工程的 SVG 支持 ;

【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#vectorDrawables 配置 )_Android



vectorDrawables 配置是 VectorDrawablesOptions 类型的 , 参考文档 ​​https://google.github.io/android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html​​ ;

【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#vectorDrawables 配置 )_ProductFlavor_02

VectorDrawablesOptions 有两个配置项 ,

​Set<String> generatedDensities​​ 配置 :

在构建时从矢量绘图生成PNG时使用的密度。要生成PNG,最小SDK必须低于21。
如果设置为空集合,将禁用对向量可提取项的所有特殊处理。

​Boolean useSupportLibrary​​ 配置 : 设置 true 时 , 运行时支持 ; Google 提供了一个兼容包 , 如果开启了该选项 , 则会自动引入 SVG 支持兼容包 ; 并且 svg 图片不再生成 png 格式的图片 ;

是否对矢量绘图使用运行时支持,而不是构建时支持。



参考文档链接 :​ ​​https://google.github.io/android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html#com.android.build.gradle.internal.dsl.ProductFlavor:vectorDrawables​​



使用示例 :

  • 设置了 generatedDensities 配置后, 如果 minSdkVersion 小于 21, 则在编译后会在 mdpi 对应的图片资源目录中生成 svg 对应的 png 图片 ;
  • 设置了 useSupportLibrary 配置后 , 默认为 false , 如果设置为 true , 则引入 SVG 兼容包 , 忽略上面生成 png 图片的配置 ;
android {
compileSdkVersion 31
buildToolsVersion "30.0.3"

defaultConfig {
applicationId "kim.hsl.websocketdemo"
minSdkVersion 18
targetSdkVersion 31
versionCode 1
versionName "1.0"

applicationIdSuffix "tom"
versionNameSuffix "9527"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

vectorDrawables {
// 设置了该配置后, 如果 minSdkVersion 小于 21,
// 则在编译后会在 mdpi 对应的图片资源目录中生成 svg 对应的 png 图片
generatedDensities "mdpi"

// 引入 SVG 兼容包 , 忽略上面生成 png 图片的配置
useSupportLibrary true
}
}
}



举报

相关推荐

0 条评论