【问题标题】:How to put bzr revid into manifest's Android:versionName如何将 bzr revid 放入清单的 Android:versionName
【发布时间】:2011-11-09 17:17:48
【问题描述】:

我在 Linux Ubuntu 服务器上使用 Jenkins 构建我的 Android 应用,并使用 Bazaar 作为 SCM。

我想将项目的 bazaar 修订 ID 自动附加到我的清单文件中 Android:versionName 的值。

我使用 ant 构建,并且我有 Jenkins 的集市插件,可以将 revid 传递给 ant 构建脚本,但我不知道该怎么做。

【问题讨论】:

  • 目前还不清楚您在哪个部分遇到了问题。是如何将 bzr revid 传递给 ant 构建脚本,还是如何使用 ant 构建脚本中的 revid 来修改清单文件?
  • 对不起,我错过了您的评论,我在如何修改清单文件时遇到了困难。随着更多(更多)谷歌搜索,我终于找到了解决方案,见下文......

标签: android jenkins bazaar


【解决方案1】:

我终于找到了解决方案here

它是为 SVN 设计的,但它很容易为 Bazaar 调整...

这是我的任务的样子。

<property environment="env"/>
<target name="bzr-revision">
    <echo>Modifying Android manifest with revision: ${env.BZR_REVISION}</echo>
    <!-- Write the revision number into
            the Manifest as the last segment of the VersionName property -->
    <replaceregexp file="AndroidManifest.xml" match='android:versionName="([^".]+\.[^".]+\.[^".]+)(\.[^"]*)?"' replace='android:versionName="\1.r${env.BZR_REVISION}"'/>
</target>

如果 versionName 是 1.5.2,il 会将其替换为 1.5.2.r123(其中 123 是 Bazaar 修订号)。您可以根据需要调整正则表达式。

【讨论】:

    猜你喜欢
    • 2011-06-24
    • 2021-12-08
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2022-08-18
    • 2013-09-10
    • 1970-01-01
    相关资源
    最近更新 更多