android - 迭代执行任务

标签 android groovy gradle

在下面提供的代码中,我可以打印目录中的每个文件名,但是当到达Exec命令时,它仅对最后一个文件执行Exec。

task frmf2xml(type:Exec)  {
    new File('src/orca/').eachFile {file ->
        if(file.name.endsWith(".fmb")){
            println file
            commandLine 'cmd', '/c', 'frmf2xml.bat', file, 'OVERWRITE=YES'
        }
   }
}

我希望它在每个文件上运行该工具

最佳答案

实际上,我使用 execute() 找到了一个解决方案。

task frmf2xml()  {
    new File('src/orca/').eachFile {file ->
        if(file.name.endsWith(".fmb")){                
            def cmd = "cmd /c frmf2xml.bat ${file} OVERWRITE=YES"
            def result = cmd.execute();
            result.waitFor();
        }
   }
}

关于android - 迭代执行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27642207/

相关文章:

android - Google Maps Android API V2 涂黑部分布局

android - setContentView(R.layout.main);主要是显示错误

android - newSpellCheckerSession 总是返回 null

android - 错误在com.android.build.gradle.internal.api.ApplicationVariantImpl上找不到属性 'processManifest'

spring - 可怕的 “Unable to start EmbeddedWebApplicationContext”错误

android - 具有与 dexFlavorEnterpriseDebug 相关的错误并以非零退出值 2 完成

java - Groovy:动态添加具有特定签名的方法

groovy - 默认情况下,Soap UI 在 new File() Groovy Script 中在哪里查找文件?我如何改变这个?

groovy - @CompileStatic 给出 NullPointerException

java - Gradle:如何在 Android 构建中包含来自依赖 Java 项目的本地 jar?