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



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

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

我主要使用以下评论中的代码使其工作:https://stackoverflow.com/a/25872141/5132130

我在 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

最新更新