使用 gradle-android-plugin 过滤 strings.xml?
Posted
技术标签:
【中文标题】使用 gradle-android-plugin 过滤 strings.xml?【英文标题】:Filter strings.xml with gradle-android-plugin? 【发布时间】:2011-08-30 17:22:38 【问题描述】:如何过滤我的 res/values/strings.xml 文件?
类似:
<resources>
<string name="version_name">$version</string>
...
$version
将从 build.gradle 文件扩展为 version
的值
【问题讨论】:
【参考方案1】:如果您的令牌采用以下格式,则可以使用带有过滤方法的 ReplaceTokens:@token@
如果你的文件看起来像这样:
<resources>
<string name="version_name">@version@</string>
...
那么你可以这样做:
import org.apache.tools.ant.filters.ReplaceTokens
def version = '1.0'
processResources
filter(ReplaceTokens, tokens: ['version': version])
您可以对任何支持过滤器方法的任务执行此操作(看起来像任何扩展 AbstractCopyTask
的任务)。
如果你想保持$token
格式,我不确定你是怎么做的。您也许可以使用不同的过滤器或在 ReplaceTokens 上设置过滤器。看起来在 ant 中你可以设置开始和结束标记。
【讨论】:
【参考方案2】:使用 groovy 闭包,如果您更喜欢不使用 ant external:
filter
line -> line.replace('$version', version)
【讨论】:
在我的 build.gradle 中我在哪里写上面的代码?以上是关于使用 gradle-android-plugin 过滤 strings.xml?的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?