50、Gradle之BuildConfig自定义常量

  https://blog.csdn.net/jiyu5204651/article/details/51013220

https://www.jianshu.com/p/274c9d95cf76

https://blog.csdn.net/u014011112/article/details/55511615

在正常项目开发中,我们经常会用到网络访问来连接我们自己的服务器,在开发中与正式环境中往往用到不同的接口地址,正常情况下,我们会在代码中自定义一个String常量来存储HTTP头地址,在开发阶段使用测试地址,上线打包时更换为正式地址。而用Android Studio开发项目时,我们可以用更优雅的方式来解决这个问题,即在BuildConfig中来自定义这个接口地址。

      BuildConfig是android studio在打包时自动生成的一个java类,在项目工程的build/generated/source/buildConfig目录下,打开这个目录可以发现会有多个不同的目录来存放BuildConfig.java类,一般会有androidTest、debug、release等多个目录,这些目录中的BuildConfig类中有相同的常量字段,但这里常量字段的值是完全可以自定义的,这样我们就可以通过定义一些常量使其在debug以及release中生成不同的字段,这里我们来定义一个HTTP_BASE字段来使其在debug中使用测试地址而在release中使用正式地址。

     在build.gradle中的buildTypes下,我们可以为release以及debug定义我们所需要的常量:

 buildTypes {
        release {
            debuggable false
            minifyEnabled true

            /**正式环境**/
            buildConfigField "String", "ROOT_URL", '"https://app.china.com/young/"'
      
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.young
        
        }

        debug {
            debuggable true
            minifyEnabled false
        
           /**测试环境**/
        buildConfigField "String", "ROOT_URL", '"https://apptest.china.com/young/"'

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.young
        
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值