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

时间:2016-03-07 15:00:27

标签: android svn android-studio version-control

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

如果可以将SVN版本号添加到Gradle生成的BuildConfig类中,那将是非常棒的。

1 个答案:

答案 0 :(得分:2)

我主要使用此评论中的代码: 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() + '"'
    }
}

我对与之关联的评论所做的更改:

  • 我想要一个可以用于String的结果,所以我需要添加'“'部分和trim()
  • 我原样返回,没有存储在变量里面的方法

在我的buildTypes中:

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

    }
}

然后在我的代码中,我可以使用:

访问它
BuildConfig.SVN_REVISION