异常
在 Android Studio 中编译程序时偶尔会遇到 Unresolved reference: xxx
报错,这通常意味着代码中引用了一个无法解析的引用。
Task :buildSrc:compilePluginsBlocks FAILED Unresolved reference: itmob.cn
> Task :app:compileDebugKotlin
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/GetInfoWorker.kt:14:46 Unresolved reference: infoSample
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/GetInfoWorker.kt:18:42 Unresolved reference: getInfoFailed
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/GetInfoWorker.kt:57:31 Unresolved reference: infoSample
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/GetInfoWorker.kt:117:67 Unresolved reference: infoSample
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/GetInfoWorker.kt:118:52 Unresolved reference: getInfoFailed
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/GetInfoWorker.kt:129:68 Unresolved reference: infoSample
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/AppManager.kt:8:46 Unresolved reference: infoSample
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/AppManager.kt:14:42 Unresolved reference: forSample
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/AppManager.kt:15:42 Unresolved reference: orNull
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/AppManager.kt:50:66 Unresolved reference: orNull
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/AppManager.kt:126:35 Unresolved reference: forSample
e: file:///C:/Users/itmob.cn/WorkSpace/Android-demo/app/src/main/java/cn/itmob/demo/AppManager.kt:130:21 Unresolved reference: infoApp
> Task :app:compileDebugKotlin FAILED
常见的 Unresolved reference 问题可以通过前几种方式解决。遇到清理、重新编译、甚至“Invalidate and Restart”都无法解决时,可以尝试通过 Gradle 命令中添加 --rerun-tasks
参数重新运行 Gradle 任务。
原因
这可能是以下原因:
-
拼写错误
检查引用的类名、方法名或变量名拼写是否正确。
-
导入缺失
确保引用的类、方法、变量等已经导入
-
Gradle 项目同步的问题
可以尝试 “File” -> ”Sync Project with Gradle Files“ 重新同步项目
-
依赖问题
确保所有依赖都正确配置,清理并重新编译
gradlew clean
gradlew app:installDebug
-
索引问题
有时 Android Studio 的索引可能出现问题,可以通过 "File" -> "Invalidate Caches..." -> "Invalidate and Restart" 来清除缓存并重启 Android Studio。
-
其他
如果仍然出现大量 Unresolved reference 错误,但是确定代码没有问题。
可以尝试重新运行 Gradle 任务、重新编译:
gradlew --rerun-tasks app:installDebug
更多内容
Gradle 依赖分析-检测未使用的依赖项,检查和移除不再使用的依赖声明
Gradle 和 Gradlew 的区别