似乎 TeamCity 参数 ${build.counter} 在我们的 ant build.xml 中没有解析。我们有:
<replaceregexp
file="AndroidManifest.xml"
match='android:versionCode="(.*)"'
replace='android:versionCode="${build.counter}"'
/>
这会引发错误:
不允许使用字符串类型(在 'versionCode' 处,值为 '${build.counter}')
看起来它将参数“$ {build.counter}”作为文字字符串。
使用另一个 TeamCity 整数参数代替 ${build.counter},例如 ${teamcity.build.id},可以正常工作。
有谁知道这可能是为什么?
更新
感谢 Biswajit_86 的回答。这也是我与 JetBrains 的相关讨论: