AndroidStudio小技巧之创建自己的buildType
程序员文章站
2022-04-14 11:13:42
通常情况下,默认编译类型的配置android {//...buildTypes { //正式版本 release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.c...
通常情况下,默认编译类型的配置
android {
//...
buildTypes {
//正式版本
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
//开发版本
debug {
ext.enableCrashlytics = false
}
}
//...
}
此时,如果想尝试增加混淆操作,但又不能轻易在release编译类型上直接新增混淆配置,所以需要增加一种编译类型,其基本编译配置与release一模一样,但是新增了混淆的设置,假设命名为minify
android {
//...
buildTypes {
//正式版本
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
//新增的类型
minify{
//开启混淆
minifyEnabled true
//删除无用资源
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
//开发版本
debug {
ext.enableCrashlytics = false
}
}
//...
}
这种情况下,将项目编译一下,便会发现一下问题提示,并且默认编译类型选择了debug
以上编译类型并不符合我们所需要的编译设置,通过查阅官方文档后,发现一设置项matchingFallbacks
官方介绍
添加之后如下:
android {
//...
buildTypes {
//正式版本
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
//新增的类型
minify{
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
//指定后备构建类型的排序列表
//当依赖项不包含当前的构建类型
//可以指定与作为备用的构建类型顺序
matchingFallbacks = ['release']
}
//开发版本
debug {
ext.enableCrashlytics = false
}
}
//...
}
将项目重新同步一下之后,如下:
经过以上操作,在buildVariant的工具栏内便会按照设置的顺序在依赖项内进行编译版本选择,至此,新增编译类型的问题已解决
本文地址:https://blog.csdn.net/u014235093/article/details/108976393