Android Gradle未生成带引号的字符串

Android Gradle未生成带引号的字符串,android,groovy,gradle,Android,Groovy,Gradle,我正试图使用此函数在BuildConfig中包含一个自定义字段,其中包含生成日期: def getDate() { def date = new Date() def formattedDate = date.format('yyyyMMddHHmmss') return formattedDate } 然后,在defaultConfig中,我将: buildConfigField "String", "BUILD_NUMBER", getDate() 问题是,Gra

我正试图使用此函数在
BuildConfig
中包含一个自定义字段,其中包含生成日期:

def getDate() {
    def date = new Date()
    def formattedDate = date.format('yyyyMMddHHmmss')
    return formattedDate
}
然后,在defaultConfig中,我将:

buildConfigField "String", "BUILD_NUMBER", getDate()
问题是,Gradle生成的字段是:

public static final String BUILD_NUMBER = 20141108114911;
它抛出“整数太大”,但我不想要整数,我想要字符串

我试图用
String
显式地替换
def
,尝试
getDate().toString
getDate()作为String
“${getDate()}”
,但仍然没有引号围绕我的字符串。我还试图在日期中间放一个像“--”这样的字符,它不产生引号,使得:

public static final String BUILD_NUMBER = 20141108-114911;
显然没有任何意义


这里我不太明白,对Groovy不够熟悉,因此不确定是否有其他(有效的)方法来“强制”字符串。

您需要添加转义引号:

buildConfigField "String", "BUILD_NUMBER", "\"${new Date().format('yyyyMMddHHmmss')}\""

或者简单地加上混合引号:
“‘BuildID’”
荷兰大师赛才是真正的MVP,它只会像这样工作“/‘BuildID\”,没有收益。