0
点赞
收藏
分享

微信扫一扫

【Android Gradle 插件】PackagingOptions 配置 ④ ( pickFirsts、merges、excludes 属性配置 Set<String> 类型属性值常用配置方法 )



文章目录

  • ​​一、清空 pickFirsts、merges、excludes 属性配置​​
  • ​​二、追加 pickFirsts、merges、excludes 属性配置​​
  • ​​三、减少 pickFirsts、merges、excludes 属性配置​​
  • ​​四、pickFirsts、merges、excludes 属性通配符配置​​

Android Plugin DSL Reference 参考文档 :

  • 文档主页 : ​​https://google.github.io/android-gradle-dsl/2.3/​​
  • BaseExtension 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.BaseExtension.html​​
  • 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​​
  • BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html​​
  • SigningConfig ( build.gradle#android#signingConfigs 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.SigningConfig.html​​
  • AaptOptions ( build.gradle#android#aaptOptions 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AaptOptions.html​​
  • AndroidSourceSets ( build.gradle#android#sourceSets 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceSet.html​​
  • AndroidSourceDirectorySet ( build.gradle#android#sourceSets#aidl/assets/java/jni/jniLibs 配置 ) 文档位置 :​​android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceDirectorySet.html​​
  • AndroidSourceFile ( build.gradle#android#sourceSets#manifest 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceFile.html​​
  • DataBindingOptions ( build.gradle#android#dataBinding ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DataBindingOptions.html​​
  • DexOptions ( build.gradle#android#dexOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DexOptions.html​​
  • LintOptions ( build.gradle#android#lintOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.LintOptions.html​​
  • PackagingOptions ( build.gradle#android#packagingOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.PackagingOptions.html​​
  • NDK 参考文档 : ​​Add C and C++ Code to Your Project.​​





一、清空 pickFirsts、merges、excludes 属性配置


PackagingOptions ( build.gradle#android#packagingOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.PackagingOptions.html​​



使用如下配置 , 可以将 PackagingOptions 中的 pickFirsts、merges、excludes 属性配置都设置为空 ;

packagingOptions {
pickFirsts = [] // Not really needed because the default is empty.
merges = [] // Not really needed because the default is empty.
excludes = []
}






二、追加 pickFirsts、merges、excludes 属性配置


PackagingOptions ( build.gradle#android#packagingOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.PackagingOptions.html​​



为 pickFirsts、merges、excludes 属性配置配置 String 类型的属性 , 相当于 执行 ​​merges += ["/LICENSE.txt"]​​ 操作 ,

packagingOptions {
merge "/LICENCE.txt" // Same as: merges += ["/LICENSE.txt"]
}






三、减少 pickFirsts、merges、excludes 属性配置


PackagingOptions ( build.gradle#android#packagingOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.PackagingOptions.html​​



为 pickFirsts、merges、excludes 属性配置配置 执行 ​​excludes -= ["/LICENCE.txt"]​​ 操作 , 相当于从配置中 , 移除了某些模式 ;

packagingOptions {
excludes -= ["/LICENCE.txt"] // Not really needed because merges take precedence over excludes.
}






四、pickFirsts、merges、excludes 属性通配符配置


PackagingOptions ( build.gradle#android#packagingOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.PackagingOptions.html​​



pickFirsts、merges、excludes 属性配置中 , 可以设置通配符 , 如 " * " , " _ " 等 ;

packagingOptions {
exclude "/secret-data/**"
}



举报

相关推荐

0 条评论