将项目与Gradle文件同步时,如何停止Android Studio运行gradle任务?

时间:2018-08-14 06:47:22

标签: android gradle

docs

  

当您更改自己的构建配置文件时   项目,Android Studio要求您同步项目文件,以便   它可以导入您的构建配置更改并运行一些   检查以确保您的配置不会产生构建错误。

我对应用程序的 build.gradle

apply plugin: 'com.android.application'

android {
    //...  <--modified here
}

task myTask() {
    println 'doing something...'
    //time-consuming operations which may takes 16s or more
    println 'done'
}

我刚刚发现,每次我为应用程序修改myTask时,它都会运行build.gradle,即使我没有更改它。

运行一些检查以确保您的配置不会产生构建错误时,这是​​否是正常操作?如果是的话,如何在同步时使任务不运行?

环境
带有gradle-4.9-bin.zip的Android Studio 3.1.3

1 个答案:

答案 0 :(得分:2)

您的任务根本没有运行,只是配置了。

Gradle区分配置阶段执行阶段。在每次调用时,都会配置每个任务,但是仅执行传递给Gradle的任务及其任务相关性。当IntelliJ / AndroidStudio在同步时调用Gradle时,每个任务都将在同步时进行配置。在Gradle中定义任务时,您通过的闭包将用于配置。在执行阶段 中,仅执行任务动作(内部功能),doFirstdoLast关闭。对于您的自定义任务,您应该将功能放入这样的闭包中:

task example {
    println 'Configuration' 
    doLast {
        println 'Execution' 
    } 
}