【问题标题】:Error: cannot find symbol class DaggerAppComponent错误:找不到符号类 DaggerAppComponent
【发布时间】:2019-01-17 08:48:51
【问题描述】:

我从 github 下载了几个使用 dagger 的示例项目,例如。 G。 Moxy sample project(尝试运行 github-sample)但到处都有相同的错误 - «找不到符号类 DaggerAppComponent»。我没有对刚刚下载的项目进行任何更改并尝试运行它们。

Gradle 版本 - 3.1.2 AndroidStudio – 3.3

def dagger = '2.7'
implementation "com.google.dagger:dagger:$dagger"
annotationProcessor "com.google.dagger:dagger-compiler:$dagger"

有人知道如何解决它吗?

【问题讨论】:

  • 清理然后重建项目一次。
  • 试过了,没用
  • 可能会清除所有缓存。 gradle 和(尤其是)android studio 有时可以用他们的缓存做一些非常奇怪的事情。

标签: android android-studio dagger


【解决方案1】:

添加以下依赖项。

implementation 'com.google.dagger:dagger:2.x'

annotationProcessor 'com.google.dagger:dagger-compiler:2.x'

或者试试这个

annotationProcessor 'com.google.dagger:dagger-compiler:2.12'

【讨论】:

  • compile 已弃用,应替换为 implementationapi。这个依赖显然已经在构建文件中了。
  • 将匕首版本从 2.7 更改为 2.12 解决了问题!非常感谢!!!
  • 不客气
【解决方案2】:

这可能与原始发帖人所寻找的内容没有直接关系,但将此答案发布给任何希望解决类似错误的人。如果您已将某些类转换为 Kotlin,请在 build.gradle 中使用 kapt 而不是 annotationProcessor。回顾起来有点明显,但我花了一段时间才弄清楚为什么我在没有任何其他细节的情况下使用 DaggerAppComponenent 收到 sysmbol not found 错误。

【讨论】:

  • 我已经失去了一个小时,直到我找到这个答案......我需要在 kotlin 文件中使用 @Bindable 注释,这需要我使用 kapt-plugin,然后我可以不再构建应用程序。刚刚用 kapt 替换了 annotationProcessor 就可以了!谢谢
猜你喜欢
  • 1970-01-01
  • 2017-12-28
  • 2017-10-01
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 2020-01-10
  • 1970-01-01
  • 2020-05-03
相关资源
最近更新 更多