3

从 Gradle 2.1 开始,现在支持 Java 源代码的增量编译,请检查此

我使用下面的代码片段来启用它

afterEvaluate {

    android.applicationVariants.each { variant ->
        variant.javaCompile.options.incremental = true
    }
}

但我收到以下警告信息,

:App:compileDebugJava - 不是增量的。无法推断源目录。

请建议我该怎么做才能摆脱它

4

2 回答 2

2

是的,Android Build Plugin 存在问题,请在此处阅读:

我们使用自定义源集,因此在我们停止使用它们之前不太可能解决这个问题。

http://code.google.com/p/android/issues/detail?id=82411并在这里提到

https://discuss.gradle.org/t/faster-incremental-builds/552/10

修复后,将其用于Android,将其添加到allProjects

allProjects {
    tasks.withType(JavaCompile) {
        configure(options) {
            incremental = true
        }
    }
}

如果你看到这个,你必须先构建你的项目:

compileDebugJava - 不是增量的(例如输出已经改变,之前没有执行,等等)。

如果您看到这一点,则sourceSets根据 isse 使用了错误(请参阅链接):

compileDebugJava - 不是增量的。无法推断源目录。

从他们的Java项目示例中:

apply plugin: 'java'
compileJava {
    //enable compilation in a separate daemon process
    options.fork = true

    //enable incremental compilation
    options.incremental = true
}

来源: http: //gradle.org/docs/current/dsl/org.gradle.api.tasks.compile.JavaCompile.html

于 2015-04-19T15:25:15.580 回答
0

我使用过的 react-native 插件包有这样的问题。我跑了react-native link,它似乎已经解决了这个问题。

于 2017-09-05T01:25:37.293 回答