Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 渐变复制替换文本并放入同一文件夹 复制{ from('res/values'){ 包括“myfile.xml” } 进入“资源/价值” 滤器{ 字符串行->行.replaceAll(“,“测试”) } }_Android_Gradle - Fatal编程技术网

Android 渐变复制替换文本并放入同一文件夹 复制{ from('res/values'){ 包括“myfile.xml” } 进入“资源/价值” 滤器{ 字符串行->行.replaceAll(“,“测试”) } }

Android 渐变复制替换文本并放入同一文件夹 复制{ from('res/values'){ 包括“myfile.xml” } 进入“资源/价值” 滤器{ 字符串行->行.replaceAll(“,“测试”) } },android,gradle,Android,Gradle,我在上面有一个xml文件,在构建特定风格时取消注释/替换文本。如果我将文件复制到另一个目录中,但我希望将该文件与替换的文本放在同一个目录中,则此操作有效。上面的代码只会删除文件的全部内容。我对Gradle还比较陌生,所以我不确定这是否是最好的方法,但我有一些任务可以在我的Windows计算机上使用,如下所示: copy{ from('res/values'){ include 'myfile.xml' }

我在上面有一个xml文件,在构建特定风格时取消注释/替换文本。如果我将文件复制到另一个目录中,但我希望将该文件与替换的文本放在同一个目录中,则此操作有效。上面的代码只会删除文件的全部内容。

我对Gradle还比较陌生,所以我不确定这是否是最好的方法,但我有一些任务可以在我的Windows计算机上使用,如下所示:

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")
}