2014-11-08 26 views
6

我想包括在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; 

其中拋出「整數太大」,但我d不想要整數,我想要一個字符串!

我想明確地更換defString,試圖getDate().toStringgetDate() as String"${getDate()}",仍然沒有引號包圍我的字符串。我也試圖把像一個字符「 - 」中日中間,它劇照不會生成報價,使得:

public static final String BUILD_NUMBER = 20141108-114911; 

顯然不作出任何意義......

我出的想法,對Groovy不夠熟悉,所以不確定是否有另一種(工作)方式來「強制」一個字符串。

回答

19

您需要添加轉義引號:

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

或只是把混合引號:' ' 「BuildID」'' – 2016-06-26 22:04:02