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

标签 android gradle

来自 docs ,

When you make changes to the build configuration files in your project, Android Studio requires that you sync your project files so that it can import your build configuration changes and run some checks to make sure your configuration won't create build errors.


我的 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

最佳答案

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

Gradle 区分配置阶段和执行阶段。在每次调用时,都会配置每个任务,但只执行传递给 Gradle 的任务及其任务依赖项。由于 IntelliJ/AndroidStudio 在同步时调用 Gradle,因此每个任务都是在同步时配置的。当您在 Gradle 中定义任务时,您传递的闭包用于配置。仅任务操作(内部功能),doFirstdoLast闭包在执行阶段执行。对于您的自定义任务,您应该将您的功能放入这样的闭包中:

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

关于android - 将项目与 Gradle 文件同步时,如何阻止 Android Studio 运行我的 gradle 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51835260/

相关文章:

android - 不同的模块文件按 flavor

javax.net.ssl.SSLHandshakeException : Handshake failed in Android 7. 0

java - 动态添加的 RemoteView 的布局权重

android - 检测到应用程序 native 库 libutility.so : text relocations 的问题

java - 依赖更新后gradle构建失败

Android - 将两个构建类型设置为同一源文件夹

android - 错误 :Failed to resolve: org. mockito:mockito 核心

gradle - 使用 gradle 发布自定义 jar 输出?

android - "failed to create jvm error code 6"

Android onClick 不适用于某些 Android 版本