Android Studio报IllegalStateException错误,Win项目迁移macOS后无法运行
问题原因
从配置信息和跨系统迁移场景判断,核心触发点如下:
- Room注解处理器重复声明:模块级build.gradle同时使用
annotationProcessor和kapt两种配置声明Room注解处理器,Kotlin项目下重复声明会引发编译期反射调用异常 - DataBinding依赖版本不兼容:单独引入的
kapt 'com.android.databinding:compiler:3.1.4'版本与AGP 4.1.3内置的DataBinding版本冲突,AGP 4.x及以上版本无需单独引入DataBinding编译器依赖 - 跨系统缓存不兼容:Windows环境生成的构建缓存、KAPT缓存与macOS环境不匹配,未清理直接构建触发异常
- 插件重复声明:模块级build.gradle开头plugins块已声明
kotlin-kapt插件,末尾重复添加apply plugin: 'kotlin-kapt'引发插件加载冲突
解决方案
按顺序执行以下操作:
删除冗余配置
打开模块级build.gradle,删除以下三行代码:annotationProcessor "androidx.room:room-compiler:$room_version" kapt 'com.android.databinding:compiler:3.1.4' apply plugin: 'kotlin-kapt'全量清理缓存
打开Android Studio顶部菜单栏,执行File -> Invalidate Caches...,勾选Clear file system cache and local history后点击Invalidate and Restart。重启后在项目根目录终端执行:./gradlew clean版本适配(前两步未解决时执行)
将项目级build.gradle中的Kotlin版本升级为AGP 4.1.3适配的1.5.32版本:ext.kotlin_version = '1.5.32'同时在模块级build.gradle的
android代码块中添加Kotlin编译配置,与Java版本对齐:kotlinOptions { jvmTarget = "1.8" }
完成操作后重新构建项目即可正常运行。
内容的提问来源于stack exchange,提问作者iamjpsharma
相关产品推荐
相关产品推荐

