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

在开发时,我们经常需要进行 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。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,269评论 25 708
  • 这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险...
    acc8226阅读 7,677评论 3 25
  • 转载注明出处://www.greatytc.com/p/5255b100930e 0. 前言 完全由个人翻...
    王三的猫阿德阅读 2,561评论 0 4
  • 我们因为各自的欲望各自来到这个世界,本来就是互相独立不同的个体,所以,若有缘携手共走一程,这样的缘分本身就值得感谢...
    雨泽儿阅读 167评论 0 0