Android Studio升级AGP后出现Unresolved Reference Error求助
AGP升级至8.5.0后资源引用无法解析的解决思路
问题描述
将多模块Android项目的AGP(Android Gradle Plugin)从7.3.1升级到8.5.0,同步Kotlin版本及相关依赖后,出现unresolved reference错误:
- Android Studio无法识别drawable、string等资源引用,即使app模块的
strings.xml中已正确定义app_name等字符串资源 - 点击「Create string value resource app_name」选项时,IDE会在其他模块下创建该资源,错误随即消失,但所有资源本已存在于项目中
环境信息
- Android Studio版本:Ladybug | 2024.2.1 Patch 3
- Gradle分发地址:
https://services.gradle.org/distributions/gradle-8.11.1-bin.zip
解决思路
- 检查模块资源配置:确认app模块的
build.gradle.kts(或.gradle)文件中,sourceSets是否正确配置资源目录,比如res.srcDirs需包含src/main/res;同时排查其他模块是否存在覆盖app模块资源的配置规则。 - 清理缓存并重启IDE:执行
File > Invalidate Caches... > Invalidate and Restart,彻底清除Android Studio的缓存,避免旧缓存导致的资源索引异常。 - 排查资源命名与冲突:AGP 8.x对资源命名的大小写检查更严格,确认资源名称无大小写错误;同时检查其他模块是否存在同名资源,导致IDE优先读取非app模块的资源定义。
- 验证AGP与Gradle版本兼容性:确认
settings.gradle中AGP版本声明正确,比如id 'com.android.application' version '8.5.0' apply false,确保版本匹配无错误。 - 检查模块依赖关系:确认app模块对其他模块的依赖配置正确,无依赖顺序导致的资源加载优先级异常;若开启了
shrinkResources,检查keep.xml是否保留了必要资源。 - 重新生成R文件:手动删除所有模块的
build/generated/r目录,重新执行Gradle Sync,让IDE重新生成正确的R文件。
内容的提问来源于stack exchange,提问作者Mustafa Berk
相关产品推荐
相关产品推荐

