来自 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 中定义任务时,您传递的闭包用于配置。仅任务操作(内部功能),doFirst
和 doLast
闭包在执行阶段执行。对于您的自定义任务,您应该将您的功能放入这样的闭包中:
task example {
println 'Configuration'
doLast {
println 'Execution'
}
}
关于android - 将项目与 Gradle 文件同步时,如何阻止 Android Studio 运行我的 gradle 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51835260/