使用BuildConfig.DEBUG实现开发生产环境自动切换

2016-10-27  本文已影响165人  chrnie

在开发时,我们经常需要进行 Debug 和 Release 环境的切换,包括 log 输出,请求的服务器地址等的更换,BuildConfig.DEBUG 将非常的有用,它将根据构建时的类型自动返回 true 或 false,使得我们不需要手动进行配置。

示例代码

// 在 Debug 模式下输出日志
if (BuildConfig.DEBUG) {
    Log.d(TAG, "some thing");
}

// 设置请求地址
String SERVICE_URL = BuildConfig.DEBUG ? "debug url" : "release url";

在 module 中使用时注意

因为 module 默认输出是 release 的,所以需要特别配置,否则 BuildConfig.DEBUG 将永远返回 false。

配置 module gradle

android {
    publishNonDefault true
} 

配置 app gradle

dependencies {
    releaseCompile project(path: ':library', configuration: 'release')
    debugCompile project(path: ':library', configuration: 'debug')
}

在配置好这些之后,在Android studio中点 run app 或着 Build Apk时BuildConfig.DEBUG值为true,而 Generate Signed Apk 生成的apk代码运行时BuildConfig.DEBUG值为false。

上一篇下一篇

猜你喜欢

热点阅读