在Android Studio中添加构建SVN修订号

在Android Studio中添加构建SVN修订号,android,svn,android-studio,version-control,Android,Svn,Android Studio,Version Control,我想使用Subversion版本号作为我的应用程序版本的附加说明符。我使用的是Android Studio,因此我使用的是Gradle。 我没有找到一种友好的方式来访问Subversion版本,然后从代码中读取它 如果SVN修订号可以添加到Gradle生成的BuildConfig类中,那就太棒了。我主要使用了以下评论中的代码: 我在gradle文件的顶部添加了以下内容: def getSvnRevisionNr() { description 'Get SVN revision num

我想使用Subversion版本号作为我的应用程序版本的附加说明符。我使用的是Android Studio,因此我使用的是Gradle。
我没有找到一种友好的方式来访问Subversion版本,然后从代码中读取它


如果SVN修订号可以添加到Gradle生成的
BuildConfig
类中,那就太棒了。

我主要使用了以下评论中的代码:

我在gradle文件的顶部添加了以下内容:

def getSvnRevisionNr() {
    description 'Get SVN revision number.'
    new ByteArrayOutputStream().withStream { os ->
        def result = exec {
            executable = 'svnversion'
            standardOutput = os
        }
        return '"' + os.toString().trim() + '"'
    }
}
我对我链接的评论所做的更改:

  • 我想要一个可以用于字符串的结果,所以我需要添加'''部分和trim()
  • 我按原样返回了它,而没有在方法内部存储变量
在我的构建类型中:

buildTypes {
    debug {
        minifyEnabled false
        buildConfigField("String", "SVN_REVISION", getSvnRevisionNr())
    }
    release {
        minifyEnabled false
        buildConfigField("String", "SVN_REVISION", getSvnRevisionNr())

    }
}
然后在我的代码中,我可以使用以下方式访问它:

BuildConfig.SVN_REVISION