android - 使用 gradle-android-plugin 过滤 strings.xml?

标签 android gradle

如何过滤我的 res/values/strings.xml 文件?

类似于:

<resources>
    <string name="version_name">${version}</string>
...

${version} 将扩展为 build.gradle 文件中 version 的值

最佳答案

如果您的 token 采用以下格式,则可以将 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 中你可以设置开始和结束标记。

关于android - 使用 gradle-android-plugin 过滤 strings.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6090304/

相关文章:

gradle - Gradle-从本地Maven存储库中删除已发布的工件

Android无法升级CMake版本

Android Time.format ("%a")给出错误的星期几

java - Android, Mediaplayer mp3, 令人不安的声音

Gradle 5.0 在 buid.gradle.kts 中使用 Kotlin DSL 时导致错误 Val cannot be reassigned

ubuntu - "Starting a new Gradle Daemon for this build (subsequent builds will be faster)"...每次

gradle - gradle用不同的属性值执行两次任务

android - 使用导航组件移动到新 fragment 时出错

android - 如果已经显示了一个 Toast,如何避免 Toast

android - android 中的 Geocoder 有时会在某些设备上给出 "Service not available error"。如何处理?