繁体   English   中英

使用 resValue() 或类似的东西用 Gradle 任务替换 android 字符串资源值

[英]Replace android string resource values with a Gradle Task with resValue() or something similar

我正在研究使用 Gradle 任务更改字符串资源值。 我正在考虑最有可能使用复制任务来复制 string.xml 并覆盖。

在这一点上,我想我将重写 xml 文件的内容并使用正则表达式模式进行替换。 这似乎是一种不好的方法,难道没有更好的方法在 Gradle 任务中使用resValue()之类的东西吗?

我看到了三种方法来做到这一点,细节将取决于你的确切设置,所以我只会指出可能对你有帮助的事情:

1)我们通过type: Copy进行复制type: Copy在某些情况下也type: Copy 我们采取的方法是将可变文件的可能版本存储在特定子文件夹中,这些子文件夹被排除在构建之外。 然后我们将特定构建所需的版本复制到源代码中,其中构建过程取决于复制任务,以确保在编译之前可以使用正确的文件。

2)您可以查看gradle.properties 您可以在此处存储键值对以供 gradle 和管理构建管道使用。 您可以像这样定义属性:

someProperty=abc123

然后在配置阶段通过${someProperty}将其加载到 Gradle 中。

3)对于您的各种构建,您可以引入不同的构建管道。 这与 1)、2) 没有区别,但是您可以使用它来控制您使用的配置。 例如,您可以使用配置任务来设置gradle.properties并让 Gradle 使用特定的settings.xml执行特定的构建管道,具体取决于gradle.properties的值。 或者,您可以为每个可能的settings.xml定义任务,然后执行这些任务。

如果有更有效的方法来实现这一点,那么我也对答案感兴趣。 希望这些有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM