android - Gradle 不生成带引号的字符串

标签 android groovy gradle

我正在尝试在 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().toStringgetDate() 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/

相关文章:

android - 在 android 的 LocationManager 中显示 java.lang.illegalargumentexception

android - 将图片粘贴到可绘制文件夹中时没有出现选项?

android - [12728] :WARNING:android/base/files/IniFile. cpp :158:Failed to process . ini文件C :\Users\User_Name\. android\emu-update-last-check.ini 用于读取

gradle - Gradle多应用程序WAR构建文件分为单独的包含的文件- 'def'破坏了它

jenkins-pipeline readJSON - 如何访问嵌套元素

gradle - 如何在 Docker 镜像中安装 grails?

android - 嵌套首选项屏幕失去主题

java - 无法在自定义 gradle 插件实现中使用外部依赖项

android-studio - LibGDX Gradle任务可以在jar中导出android项目

groovy - 从: to: in Gradle script申请施工