用户登录
用户注册

分享至

AndroidStudio小技巧之创建自己的buildType

  • 作者: 舌战群RU885
  • 来源: 51数据库
  • 2021-08-11

通常情况下,默认编译类型的配置

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的工具栏内便会按照设置的顺序在依赖项内进行编译版本选择,至此,新增编译类型的问题已解决

软件
前端设计
程序设计
Java相关