我正在尝试在 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() as String
和 "${getDate()}"
,但我的字符串仍然没有引号。我还尝试在日期中间放一个像“-”这样的字符,它仍然不会生成引号,使得:
public static final String BUILD_NUMBER = 20141108-114911;
显然没有任何意义......
我在这里没有想法,对 Groovy 不够熟悉,所以不确定是否有另一种(有效的)方法来“强制”字符串。
最佳答案
您需要添加转义引号:
buildConfigField "String", "BUILD_NUMBER", "\"${new Date().format('yyyyMMddHHmmss')}\""
关于android - Gradle 不生成带引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26816380/