Android Gradle记录器不接受java.lang.String

时间:2014-03-17 19:05:01

标签: android gradle android-gradle

我正在尝试在我的build.gradle文件中添加一些日志消息:

android { 
    ...
    ...

    buildTypes {
        ...
        ...

        applicationVariants.all { variant ->                
            logger.warn('A warning log message.')
        }
    }
}

我通过this Gradle doc了解到,只要有一个静态logger可以随时调用。事实上,logger.warn()位直接从该文档中复制出来。但是,我收到了这条消息:

No signature of method: com.android.build.gradle.internal.LoggerWrapper.warn() is applicable for argument types: (java.lang.String) values: [A warning log message.]

对我来说,logger.warn()及其所有其他等价物(错误,信息等)不接受字符串作为输入似乎很奇怪。我做错了什么?

1 个答案:

答案 0 :(得分:3)

看起来因为你在配置android对象的闭包中,对logger的引用被解析为内部Android记录器对象。

我会在任何地方使用project.logger...来确保您访问默认的Gradle记录器。

此处定义了内部Android记录器:https://android.googlesource.com/platform/tools/base/+/master/common/src/main/java/com/android/utils/ILogger.java