无法查询任务 ':data-local:compileDebugKotlin' 属性 'moduleName' 的值,因为它没有可用值

Zac*_*cle 4 android kotlin build.gradle android-jetpack-compose

我正在开发一个多模块项目。我最近将 kotlin 版本升级到 1.9.0,并将 compose 编译器升级到 1.5.2。Gradle 插件版本 8.1.1

自从升级以来,我不断收到以下错误:

A problem occurred configuring project ':data-local'.
> Cannot query the value of task ':data-local:compileDebugKotlin' property 'moduleName' because it has no value available.

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':data-local'.
    at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:84)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:77)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.access$400(LifecycleProjectEvaluator.java:55)...

Run Code Online (Sandbox Code Playgroud)

这是我的数据本地build.gradle文件:

plugins {
    alias libs.plugins.android.library
    alias libs.plugins.kotlin.android
    alias libs.plugins.kotlin.kapt
    alias libs.plugins.hilt.android
    alias libs.plugins.ksp
}

android {
    namespace 'com.zacle.data_local'
    compileSdk ProjectConfig.compileSdk

    defaultConfig {
        minSdk ProjectConfig.minSdk
        targetSdk ProjectConfig.targetSdk

        testInstrumentationRunner "com.zacle.data_local.database.HiltTestRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        coreLibraryDesugaringEnabled true

        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = ProjectConfig.jvmTarget
    }
}

dependencies {
    implementation(project(path: ":data-repository"))
    implementation(project(path: ":core:model"))
    implementation(project(path: ":core:common"))

    implementation libs.kotlinx.coroutines.android

    // Room
    implementation libs.androidx.room.runtime
    implementation libs.androidx.room.ktx
    ksp libs.androidx.room.compiler

    // Hilt
    implementation libs.hilt.android
    kapt libs.hilt.compiler

    // Unit tests
    testImplementation libs.junit4
    testImplementation libs.kotlinx.coroutines.test
    testImplementation libs.mockito.kotlin

    // Instrumented tests
    androidTestImplementation libs.androidx.test.junit
    androidTestImplementation libs.kotlinx.coroutines.test
    androidTestImplementation libs.mockito.kotlin
    androidTestImplementation libs.androidx.test.core
    androidTestImplementation libs.androidx.test.runner
    androidTestImplementation libs.androidx.test.rule
    androidTestImplementation libs.truth
    androidTestImplementation libs.hilt.android.testing
    kaptAndroidTest libs.hilt.android.compiler

    coreLibraryDesugaring libs.desugar.jdk.libs
}
Run Code Online (Sandbox Code Playgroud)

您能帮我找出 moduleName 属性错误的根源以及如何修复它吗?

小智 13

当我更新项目依赖项并将 kotlin 从 1.8.21 更新到 1.9.20 时,遇到了类似的问题。

我意识到问题是由 KSP 插件 (com.google.devtools.ksp) 引起的,并通过将该依赖项也从 1.8.21-1.0.11 更新到 1.9.20-1.0.14 来解决。

plugins {
    id("com.google.devtools.ksp") version "1.9.20-1.0.14" apply false
}
Run Code Online (Sandbox Code Playgroud)

我的 gradle 同步错误是:

A problem occurred configuring project ':app'.
> Cannot query the value of task ':app:compileDevDebugKotlin' property 'moduleName' because it has no value available.

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
    at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:84)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:77)
Caused by: org.gradle.api.internal.provider.MissingValueException: Cannot query the value of task ':app:compileDevDebugKotlin' property 'moduleName' because it has no value available.
    at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateOwnPresentValue(AbstractMinimalProvider.java:75)
    at org.gradle.api.internal.provider.AbstractMinimalProvider.get(AbstractMinimalProvider.java:93)
    at com.google.devtools.ksp.gradle.KspGradleSubplugin$applyToCompilation$kspTaskProvider$1$1.invoke(KspSubplugin.kt:435)
Run Code Online (Sandbox Code Playgroud)