【问题标题】:Gradle not generating a String with quotesGradle 不生成带引号的字符串
【发布时间】:2015-01-05 03:19:06
【问题描述】:

我正在尝试在 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;

抛出“Integer too large”,但我不想要 Integer,我想要 String!

我尝试用String 明确替换def,尝试getDate().toStringgetDate() as String"${getDate()}",但仍然没有引号包围我的字符串。我还尝试在日期中间放一个像“-”这样的字符,它仍然不会生成引号,使得:

public static final String BUILD_NUMBER = 20141108-114911;

显然没有任何意义......

我对此一无所知,对 Groovy 不够熟悉,因此不确定是否有另一种(有效的)方法来“强制”字符串。

【问题讨论】:

    标签: android groovy gradle


    【解决方案1】:

    您需要添加转义引号:

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

    【讨论】:

    • 或者只是加上混合引号:' "BuildID" '
    • 荷兰大师赛是真正的mvp
    • 混合只能像这样'/"BuildID\"',没有收获。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 2011-04-16
    相关资源
    最近更新 更多