zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

【Android Gradle 插件】PackagingOptions 配置 ③ ( merges 属性配置 | excludes 属性配置 )

2023-06-13 09:18:05 时间

文章目录

Android Plugin DSL Reference 参考文档 :

一、PackagingOptions#merges 属性配置


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

1、配置简介

PackagingOptions#merges 属性配置 用于配置 重复文件模式列表 , 当遇到这些重复文件 , 将重复文件合并打包到 apk 中 ;

2、配置原型

PackagingOptions#merges 属性配置原型 : 设置的是 String 类型的 Set 集合 ;

Set<String> merges
The list of patterns where all occurrences are concatenated and packaged in the APK.

在APK中连接和打包所有引用的模式列表。

3、使用示例

PackagingOptions#merges 属性配置使用示例 :

android {
	packagingOptions {
		pickFirsts ['/META-INF/LICENCE', '/META-INF/NOTICE']
		merges ['/META-INF/LICENCE', '/META-INF/NOTICE']
	}
}

二、PackagingOptions#excludes 属性配置


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

1、配置简介

PackagingOptions#excludes 属性配置 用于配置 文件模式列表 , 当打包时遇到这些文件 , 排除这些文件 ;

2、配置原型

PackagingOptions#excludes 属性配置原型 : 设置的是 String 类型的 Set 集合 ;

Set<String> excludes
The list of excluded paths.

排除路径的列表。

3、使用示例

PackagingOptions#excludes 属性配置使用示例 :

android {
	packagingOptions {
		pickFirsts ['/META-INF/LICENCE', '/META-INF/NOTICE']
		merges '/META-INF/LICENCE', '/META-INF/NOTICE'
		excludes -= ["/LICENCE.txt"]
	}
}