根据构建类型自动修改依赖库的BuildConfig.DEBUG的值

app模块引用了library,在library模块中控制日志输出使用的是

    if (BuildConfig.DEBUG) {
logger.d("print %s", msg);
}

通常,在直接运行app即使用debug模式打包时, BuildConfig.DEBUG 应为true,而当发布release版本时, BuildConfig.DEBUG 自动为false。这样就可以完美地控制日志的输出。

但是,令人头疼的是,无论是debug还是release,library中的 BuildConfig.DEBUG 都是false,导致调试日志无法打印。

原因:默认情况下,应用模块会使用库的发布构建,即使在使用应用模块的调试构建类型时亦是如此。

解决方法:

在库的  build.gradle 文件的 android 代码块内添加以下代码

android {
...
publishNonDefault true
}

在应用的 build.gradle 文件中修改依赖代码,使得应用在不同的模式下构建时使用库的不同构建类型

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

android developer 地址

上一篇:HTTPS详解


下一篇:JSP设置文件编码