相关疑难解决方法(0)

使用Git和Eclipse为您的Android应用程序编号的自动版本

我相信计算机是做重复性任务的最佳选择.我当然不是,我要么忘记,要么(大多数时候)不以一致的方式做事 - 这不是我想要的.

我可能要做的一件事是在发布新版本的Android应用时忘记清单中的版本信息.在过去,我使用过具有自动版本编号功能的配置构建系统,并且我已经习惯了(或者我很懒).

我发现这个Stackoverflow帖子在提出解决方案时非常有用,但是我花了一段时间对它进行微调,以便它按照我想要的方式工作.早期的尝试有时会导致继续建设,这是一个痛苦.所以我想我会在这里发布我的解决方案,希望别人会发现它有用.

versioning git android

14
推荐指数
3
解决办法
8791
查看次数

比较groovy中的版本字符串

嘿我已经创建了一个Groovy脚本,它将提取某些文件夹的版本号.然后我想比较版本号并选择最高版本.

我让我的脚本通过dir文件夹运行,然后我得到这种格式的版本: 02.2.02.01

所以我可以得到这样的东西:

  • 02.2.02.01
  • 02.2.02.02
  • 02.2.03.01

我没有它们作为列表,但像这样:

baseDir.listFiles().each { file -> 
  def string = file.getName().substring(5, 15)
  // do stuff
}
Run Code Online (Sandbox Code Playgroud)

此外,我已经测试过Groovy可以将它们与>运营商进行比较,它可以!但现在我需要选择版本最高的那个

string groovy compare

9
推荐指数
5
解决办法
1万
查看次数

如何通过gradle在命令行上执行时转义双引号?

我正在尝试使用gradle build系统通过git包括我的应用程序的版本。我想运行以下命令从git获取版本信息:

git describe --tags --match "v[0-9]*"
Run Code Online (Sandbox Code Playgroud)

这里阅读参考之后,我正在使用以下gradle语法:

commandLine 'git', 'describe', '--tags', '--long', '--match "v[0-9]*"'
Run Code Online (Sandbox Code Playgroud)

但这会导致执行错误。

错误:未知选项`match v [0-9] *'

我曾尝试用反斜杠转义双引号,但这也不起作用。有人可以指出我通过gradle执行上述命令的正确方法吗?

git gradle

5
推荐指数
1
解决办法
1183
查看次数

如何获得git标签的总数

我想获取存储库中标签计数的总数

grgit库已经解决了这个问题。

git = org.ajoberstar.grgit.Grgit.open()
git.tag.list().size()
Run Code Online (Sandbox Code Playgroud)

但它在 groovy 中,我想要它的 gradle 版本。

git describe --tags $(git rev-list --tags --count)
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了提交的总数

到目前为止,我有以下代码段可以获取提交的总数。

versionCode = { ->
    try {
        def stdout = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'rev-list', '--first-parent', '--count', 'HEAD'
            standardOutput = stdout
        }
        return Integer.parseInt(stdout.toString().trim())
    }
    catch (ignored) {
        return -1
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经引用了这个 SO 问题,但没有正确的答案

versioning git gradle android-gradle-plugin

4
推荐指数
1
解决办法
2355
查看次数