首页 > 解决方案 > 无法在 IDE 中查看 Dagger 生成的类源代码

问题描述

我无法在我的项目中看到生成的匕首类。应用程序构建,dagger 注入类就好了,等等,但我实际上无法在我的 IDE 中查看 dagger 类 - 它们显示为红色(表示错误),并尝试在调试和/或时进入类查看源代码以查看它们是如何做的是行不通的。

这是一个不适合我的示例项目:https ://github.com/erikcaffrey/Dagger2-MVP-Sample

我所做的只是拉它,运行它,然后去CategoryApplication上课并尝试查看课程的源代码DaggerAppComponent,但我做不到。

作为参考,这是我所看到的:匕首类不可用

一些附加信息:在其他计算机上我没有这个问题(Windows 10,MacBook Pro #2),但我的主要开发 MacBook Pro 如果受此影响。dagger 生成的文件存在于我的项目结构中,我可以手动查看它们——但理想情况下,IDE 可以拾取这些文件,而不会在视觉上将其显示为错误。我正在使用 Android Studio 3.1.4,但这也发生在旧版本中(虽然不确定确切的数字)

我正在使用的示例项目具有以下 gradle 依赖项设置:

annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
implementation 'com.google.dagger:dagger:2.15'

它不使用 android dagger 组件,也不使用 android 支持组件 FWIW。

更新:我注意到在“项目”设置中查看项目文件时,我的开发 MacBook Pro 上的 Android Studio 实例没有在 app/build/generated/source/apt/ 目录中列出 dagger 生成的文件。硬盘驱动器上的文件确实存在,但它们没有出现在 IDE 中......所以我怀疑这是一个匕首问题 - 只是 IDE 没有拾取这些文件有问题。

标签: androidandroid-studiodagger-2

解决方案


def daggerVer = 2.12 // or latest version

implementation "com.google.dagger:dagger:$daggerVer"
implementation "com.google.dagger:dagger-android-support:$daggerVer"
annotationProcessor "com.google.dagger:dagger-android-processor:$daggerVer"
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVer"

推荐阅读