Android Studio升级Gradle7后Gson报Unresolved reference但运行正常求助
可行解决方法
- 调整跨模块依赖声明
如果Gson是在子模块中声明、上层模块调用,Gradle7默认implementation依赖不会向上传递编译期可见性,仅运行时有效,就会出现运行正常但IDE报红的问题。你可以把依赖声明从implementation改为api:
api "com.google.code.gson:gson:你的Gson版本号"
也可以直接在上层需要使用Gson的模块中单独声明一次Gson依赖。
- 检查Build Variant匹配规则
Gradle7对构建变体的匹配逻辑更严格,如果你配置了自定义productFlavor,需要确认Gson依赖没有只声明到你当前未选中的变体依赖块中,比如你当前选中dev变体,依赖仅加在prodImplementation下就会触发索引异常。 - 强制统一Gson版本
如果项目中存在多个不同版本的Gson依赖冲突,会导致IDE索引紊乱,你可以在根目录build.gradle中添加版本强制规则:
allprojects { configurations.all { resolutionStrategy.force 'com.google.code.gson:gson:你需要使用的固定版本号' } }
- 清理Gradle本地缓存
关闭Android Studio后,删除项目根目录下的.gradle文件夹,再删除用户全局目录下的.gradle/caches文件夹中对应你项目使用的Gradle7版本的缓存目录,重启Android Studio重新拉取解析依赖即可。 - 升级Android Studio版本
低于Arctic Fox的Android Studio版本对Gradle7的依赖解析支持存在已知bug,升级到Chipmunk及以上稳定版本即可兼容Gradle7的索引逻辑。
相关问题截图
内容的提问来源于stack exchange,提问作者Otziii
相关产品推荐
相关产品推荐




