我正在尝试在Android应用程序中配置版本号的自动增量。 我已经配置了Ant任务,这些任务会检出文件,然后使用版本值自动增加字符串,然后自动在TFS系统中办理登机手续。所以这个test.properties文件有这个背景:
versionCode="1"
自动增量完成了这项任务:
<propertyfile file="${basedir}/src/test.properties">
<entry key="versionCode" value="1" type="int" operation="+" />
</propertyfile>
如何配置替换此字符串的值:android:versionCode =“1”,位于目标文件androidmanifest.xml中?
答案 0 :(得分:1)
我想你可以在Ant中使用ReplaceRegExp
task:
基于目录的任务,用文件或文件集中的替换模式替换给定正则表达式的出现。
它可能看起来像这样:
<replaceregexp file="${src}/androidmanifest.xml"
match="android:versionCode="[0-9]+""
replace="android:versionCode="${versionCode}""
/>
在运行此任务之前,可以通过读取属性文件来获取build.number
属性。
答案 1 :(得分:0)
使用vanilla ant的解决方案,不需要Ant插件,您可以使用具有=
f.e. named props.txt
...
android:versionCode=@versionCode@
...
以及稍后使用您的工作流设置的属性$ {versionCode} 并使用copy + nested filterset =
从模板创建属性文件 <!-- somewhere set in your workflow maybe via userproperty -DversionCode=42 -->
<property name="versionCode" value="42"/>
...
<copy file="props.txt" todir="/some/path" overwrite="true">
<filterset>
<filter token="versionCode" value="${versionCode}"/>
</filterset>
</copy>
/some/path/props.txt将具有=
...
android:versionCode=42
...