Android 渐变复制替换文本并放入同一文件夹 复制{ from('res/values'){ 包括“myfile.xml” } 进入“资源/价值” 滤器{ 字符串行->行.replaceAll(“,“测试”) } }
我在上面有一个xml文件,在构建特定风格时取消注释/替换文本。如果我将文件复制到另一个目录中,但我希望将该文件与替换的文本放在同一个目录中,则此操作有效。上面的代码只会删除文件的全部内容。我对Gradle还比较陌生,所以我不确定这是否是最好的方法,但我有一些任务可以在我的Windows计算机上使用,如下所示:Android 渐变复制替换文本并放入同一文件夹 复制{ from('res/values'){ 包括“myfile.xml” } 进入“资源/价值” 滤器{ 字符串行->行.replaceAll(“,“测试”) } },android,gradle,Android,Gradle,我在上面有一个xml文件,在构建特定风格时取消注释/替换文本。如果我将文件复制到另一个目录中,但我希望将该文件与替换的文本放在同一个目录中,则此操作有效。上面的代码只会删除文件的全部内容。我对Gradle还比较陌生,所以我不确定这是否是最好的方法,但我有一些任务可以在我的Windows计算机上使用,如下所示: copy{ from('res/values'){ include 'myfile.xml' }
copy{
from('res/values'){
include 'myfile.xml'
}
into 'res/values'
filter{
String line -> line.replaceAll("<!--<string name=\"test\">test</string>-->", "<string name=\"id\">test</string>")
}
}
task update_project也许,您可以尝试先将其复制到临时位置,然后再复制到原始位置?哈哈,这确实有效。我本应该想到这一点,但我想我是在想一个有效的方法来做到这一点。我仍然对其他选择持开放态度,但就目前而言,上述建议会奏效。
task update_project << {
def proj = file("$someProjectFile")
def text = proj.getText("UTF-8")
def replacement = "2"
text = text.replaceAll(" something = 1;", " something = ${replacement};")
proj.write(text, "UTF-8")
}