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)