Gradle 任务的执行并找出它们执行的原因

问题描述 投票:0回答:1

我目前正在学习 Udemy 课程来学习 Kotlin,我有一个关于 Gradle 和任务的问题。我尝试过 HILT,并且必须将 kapt 添加到我的项目中(带有 jetpack-compose 的空项目)。

我的 app/build.gradle.kts 看起来像这样:

plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.jetbrains.kotlin.android)
    id("io.objectbox")
    id("kotlin-kapt")
    id("com.google.dagger.hilt.android")
}


dependencies {
    implementation("androidx.hilt:hilt-navigation-compose:1.2.0")
    implementation("com.google.dagger:hilt-android:2.51.1")
    kapt("com.google.dagger:hilt-android-compiler:2.51.1")
}

kapt {
    correctErrorTypes = true
}

一段时间后,我决定再次删除它,因为构建时间增加,并且课程不再需要它。

我现在的问题是,该 gradle 仍然执行以下任务:kaptGenerateStubsDebugAndroidTest、kaptGenerateStubsDebugKotlin、kaptReleaseKotlin、kaptReleaseUnitTestKotlin 等等

如何找出执行这些任务的原因?可能是因为 Compose?我已经建立了一个新项目,但这些项目不存在。

运行 ./gradlew help --task [OneOfTheMentioned] 并没有真正帮助:

> Task :help
Detailed task information for kaptReleaseKotlin

Path
     :app:kaptReleaseKotlin

Type
     KaptWithoutKotlincTask (org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask)

Options
     --rerun     Causes the task to be re-run even if up-to-date.

Description
     -

Group
     -

kaptGenerateStubsDebugKotlin 使构建时间延长了一倍,并且构建分析器(它也警告我)说:

 Reason task ran: Value of input property 'compilerOptions.freeCompilerArgs' has changed for task ':app:kaptGenerateStubsDebugKotlin'

我已经做过的事情:

sync with files
clean
rebuild
deleted .gradle Folder

Android Studio 考拉 | Ubuntu Mate 上的 2024.1.1 补丁 1

android kotlin android-studio gradle
1个回答
0
投票

经过一番研究,我找到了解决方案。

您可以通过以下命令获得每个任务的列表以及任务的来源:

./gradlew app:dependencies [app was in my case the module name]
© www.soinside.com 2019 - 2024. All rights reserved.