构建配置文件

构建配置文件(config.gradle)以及妙用buildConfigField

构建配置文件(config.gradle)

1、新建config.gradle

在project的根目录下新建文件config.gradle,跟settings.gradle同级,然后在config.gradle写配置代码,eg:

ext{
    //Android基本配置
    android=[
            compileSdkVersion:28,
            minSdkVersion:21,
            targetSdkVersion:28,
            versionCode:1,
            versionName:"1.0.0"
    ]
}

2、在app的build.gradle中配置配置信息

def androidConfig =rootProject.ext.android
android {
    compileSdkVersion androidConfig.compileSdkVersion
    defaultConfig {
        applicationId androidConfig.applicationId
        minSdkVersion androidConfig.minSdkVersion
        targetSdkVersion androidConfig.targetSdkVersion
        versionCode androidConfig.versionCode
        versionName androidConfig.versionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

3、在project的build.gradle中写上

apply from: "config.gradle"

妙用buildConfigField

说BuildConfig类之前,先谈谈通常会遇到的场景:
1.Log打印日志这个需求,通常大家都会写一个LogUtils工具类,暴露一些常用的log.e log.d log.i等方法, 在方法会用到一个静态常量去作为开关。
2.Api接口地址的变换这个需求,通常都是写一个类里面放上一个静态常量表示Api的地址,然后我们是需要debug模式运行时采用测试环境Api接口地址,在打release包上线时则切换为生产环境的Api接口地址。
3.配置一些第三方平台的固定参数,比如微信、QQ、微博的AppKey、AppSecret。

其实咱们就能利用build插件gradle自动生成的BuildConfig类来解决这些问题,可以省去很多工作量,eg:

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            buildConfigField "Boolean","ISRELEASE","true"
        }

        debug{
            buildConfigField "Boolean","ISRELEASE","false"
        }
    }

来看看我们编译后的build.gradle
image.png-30.6kB
很明显我们可以看到ISRELEASE这个变量,这里我们就可以在项目中读取这个变量,使用

BuildConfig.ISRELEASE

且这个案例可以解决上面提到的第一和第二个场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值