Gradle同步失败:提示依赖缓存损坏、TupleExpression类转换错误求助
报错原因
你遇到的class org.codehaus.groovy.ast.expr.TupleExpression cannot be cast to class org.codehaus.groovy.ast.expr.ArgumentListExpression报错,核心原因是模块级build.gradle的plugins闭包语法写错了,和依赖缓存损坏、Gradle守护进程异常没有关系。
你在plugins {}块里混用了两种插件声明语法:块内只支持id '插件id'的声明格式,你写的apply plugin: 'kotlin-kapt'是旧版的外置apply写法,放在plugins闭包里会导致Gradle解析Groovy抽象语法树时触发类型转换错误,直接中断同步。
修复方法
- 直接修改plugins块代码,把kotlin-kapt的声明改成统一的id格式,删掉错误的apply语句,修正后的代码如下:
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' }
- 改完直接同步Gradle即可,不需要额外清理缓存或者重启进程。
如果改完仍有异常,再做兜底清理:
- 关闭Android Studio
- 在项目根目录执行终端命令停止所有Gradle进程:
./gradlew --stop(Windows环境执行gradlew.bat --stop) - 删除项目根目录下的
.gradle文件夹 - 重新打开IDE同步项目
修正后完整模块Gradle配置参考
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' } android { compileSdk 32 defaultConfig { applicationId "com.example.todoit" minSdk 21 targetSdk 32 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } } dependencies { //ROOM def roomVersion = "2.4.2" implementation("androidx.room:room-runtime:$roomVersion") kapt("androidx.room:room-compiler:$roomVersion") // Navigation Component implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2' implementation 'androidx.navigation:navigation-ui-ktx:2.2.2' implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.6.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' // Lifecycle components implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0" // Kotlin components implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72" api "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.5" api "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5" }
内容的提问来源于stack exchange,提问作者Clivityy
相关产品推荐
相关产品推荐

