Android Exception: 解决 Unresolved reference 错误

gradle

异常

在 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 任务。

原因

这可能是以下原因:

  1. 拼写错误

    检查引用的类名、方法名或变量名拼写是否正确。

  2. 导入缺失

    确保引用的类、方法、变量等已经导入

  3. Gradle 项目同步的问题

    可以尝试 “File” -> ”Sync Project with Gradle Files“ 重新同步项目

    SyncProjectwithGradleFiles.png

  4. 依赖问题

    确保所有依赖都正确配置,清理并重新编译

    gradlew clean
    
    gradlew app:installDebug
    
  5. 索引问题

    有时 Android Studio 的索引可能出现问题,可以通过 "File" -> "Invalidate Caches..." -> "Invalidate and Restart" 来清除缓存并重启 Android Studio。

  6. 其他

    如果仍然出现大量 Unresolved reference 错误,但是确定代码没有问题。

    可以尝试重新运行 Gradle 任务、重新编译:

    gradlew --rerun-tasks app:installDebug
    

更多内容

Gradle 依赖分析-检测未使用的依赖项,检查和移除不再使用的依赖声明

Gradle 和 Gradlew 的区别


作者:ITmob
来源:ITmob.cn
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×