Android Gradle-在gradle.properties文件和versionNameSuffix

时间:2018-07-19 13:18:46

标签: android gradle build.gradle gradle.properties

我需要以Java代码获取应用程序的“基本”版本名称,格式为 X.X.X
由于我将versionNameSuffix功能用于调试版本,因此无法使用BuildConfig.VERSION_NAME属性,因为对于调试版本而言,其属性为 X.X.X.dev

由于这个原因,我最初在gradle.properties文件中声明了baseVersionName="X.X.X"属性,然后在我的build.gradle文件中使用了它,如下所示:

android {
    ...
    versionName project.baseVersionName

    defaultConfig {
        ...
        buildConfigField "String", "BASE_VERSION_NAME", project.baseVersionName
    }
}

但是我的构建失败了,我发现在生成的BuildConfig.java文件中我有:

public static final String VERSION_NAME = ""X.X.X".dev";

,带有明显的语法错误。

因此我尝试声明为baseVersionName=X.X.X,尽管意识到这次我的新BuildConfigField不是String

我现在决定声明两个不同的属性baseVersionName=X.X.XbaseVersionNameStr="X.X.X"

如何获得相同的结果而无需在每个版本名称中增加两个需要更改的属性,因此消除了容易出错的方法?

0 个答案:

没有答案