android - 无法在 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 没有拾取这些文件有问题。
解决方案
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"
推荐阅读
- javascript - 单击单选按钮jquery上的事件
- csv - 使用 Google Apps 脚本将 csv 转换为 ical
- c# - 为什么我的 DBML 在 InsertOnSbumit 上将 varchar(8000) 发送到我的数据库?
- c - 输入 -1 后将停止询问输入的数组(不打印 -1)
- python - 阅读没有诅咒模块的箭头键
- javascript - Redux:这种全能的动作创建者模式错了吗?
- javascript - 如何在 Vue 2.5 中从带有 html 标签的字符串创建 VNode?
- haskell - 两个 lambda 函数一起是什么意思
- javascript - javascript/html + nodejs
- apache-kafka - Kafka Streams:内部主题分区