如何在AndroidManifest中自动化版本代码递增?

Bar*_*ica 10 svn versioning version-control android

我有上传到Subversion/SVN repo的应用程序.是否可以使用脚本以某种方式更改存储在其中的应用程序版本代码AndroidManifest?我的意思是在结账/更新期间/之后?

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="mypackage"
          android:versionCode="100000"
          android:versionName="1.0">
Run Code Online (Sandbox Code Playgroud)

Wim*_*nen 4

SVN 具有关键字替换功能,您可以使用它来将修订号放入文件中。但是,这将导致清单文件本身上次更改时发生修订,这不是您想要的。

实现您想要的效果的最佳方法是svnversion从构建脚本中调用,并将输出嵌入到清单文件中。您可以有一个manifest.template受版本控制的文件,构建脚本可以使用该文件来生成真正的清单文件。在模板中放置一个占位符单词,并将其替换为通过 获得的修订号svnversion

编辑:在 Eclipse 中,您可能会使用 Ant 脚本,并在正常构建之前调用它。链接的示例生成一个带有修订号的类文件,但您也可以以非常类似的方式生成清单文件。