根据构建类型自动修改依赖库的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://www.cnblogs.com/wenhui92/p/8916756.html