欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

AndroidStudio小技巧之创建自己的buildType

程序员文章站 2023-01-31 12:54:46
通常情况下,默认编译类型的配置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
AndroidStudio小技巧之创建自己的buildType
以上编译类型并不符合我们所需要的编译设置,通过查阅官方文档后,发现一设置项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
        }
    }
//...
} 

将项目重新同步一下之后,如下:
AndroidStudio小技巧之创建自己的buildType
经过以上操作,在buildVariant的工具栏内便会按照设置的顺序在依赖项内进行编译版本选择,至此,新增编译类型的问题已解决

本文地址:https://blog.csdn.net/u014235093/article/details/108976393