我需要以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.X
和baseVersionNameStr="X.X.X"
。
如何获得相同的结果而无需在每个版本名称中增加两个需要更改的属性,因此消除了容易出错的方法?