解决依赖库中BuildConfig.DEBUG的值总为False的问题

来源:互联网 发布:中国基尼系数 知乎 编辑:程序博客网 时间:2024/06/05 10:36

在Android的实际开发中,一般会有这样的需求,debug和release版本不同,接口地址不同,同时控制日志是否打印等,系统为我们提供了一个很方便的类BuildConfig可以自动判断是否是debug模式。 
有了BuildConfig.DEBUG之后,你在代码中可以直接写入 

if (BuildConfig.DEBUG) {          Log.d(TAG, "output something"); }  
在平时直接运行代码的时候BuildConfig.DEBUG的值自动为true, 
在发布后BuildConfig.DEBUG的值自动为false, 
可以说是非常方便。 
BUT。。。。 
在Android Studio中,如果你的项目A依赖另外一个module B,而你也想通过BuildConfig.DEBUG来控制日志等,很遗憾,It not work! 
不论你是debug还是release,BuildConfig.DEBUG的值都是false!
因为这个令人头疼的问题,我参考了各种办法都不行! 
首先想到的是通过 
buildConfigField “boolean”, “IS_DEBUG”, “true” 
设置自定义参数来判断,结果还是不行。

最后在android官网上找到了解决方法

https://developer.android.google.cn/studio/build/dependencies.html

解决方法如下: 
Library项目的build.gradle中
android {    publishNonDefault true}
App主项目中
dependencies {    releaseCompile project(path: ':library', configuration: 'release')    debugCompile project(path: ':library', configuration: 'debug')}
其中library是依赖的module名字

0 0
原创粉丝点击