代码之家  ›  专栏  ›  技术社区  ›  zwcloud

如何阻止Android Studio在将项目与gradle文件同步时运行我的gradle任务?

  •  0
  • zwcloud  · 技术社区  · 6 年前

    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

    这是正常的手术吗 运行一些检查以确保配置不会创建生成错误 ? 如果是,在同步时如何使任务不运行?

    环境 :
    Android工作室3.1.3,带gradle-4.9-bin.zip

    1 回复  |  直到 6 年前
        1
  •  2
  •   Lukas Körfer    6 年前

    您的任务根本不运行,它只是配置好的。

    配置阶段 以及 执行阶段 . 每次调用时,都会配置每个任务,但只执行传递给Gradle的任务及其任务依赖关系。当IntelliJ/AndroidStudio在同步时调用Gradle时,每个任务都在同步时配置。在Gradle中定义任务时,传递的闭包用于配置。仅任务操作(内部功能), doFirst doLast 闭包在 . 对于您的自定义任务,您应该将您的功能放入这样一个闭包中:

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