微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

annotationProcessor androidTest dagger2

对于检测测试,我有一个TestApplication创建一个TestComponent,但不再生成文件(错误:/xxx/TestApplication. java:16:无法解析import.xxx.DaggerTestApplicationComponent).我无法确定根本原因.我尝试了不同的 Android Studio(2.2,2.1.2),不同的gradle插件(2.2.0-alpha6,5,4)和不同版本的dagger(2.2到2.6).

我应该使用androidTestAnnotationProcessor吗? (以前不是这种情况)

编辑:要使用dagger 2.6,需要添加类路径’com.google.guava:guava:19.0′

更新:模块出现问题,因此无法创建组件.但是,使用插孔(即使有调试选项),我也看不到问题.现在,恢复到java 7,gradle插件2.1.2.这样,无需指定哪个番石榴版本,以及所有最新的库都可以使用(dagger 2.6,butterknife 8.2.1,apt 1.8)

解决方法

我和Dagger 2.9有同样的问题. compileDebugAndroidTestSources已成功完成,但未生成Dagger * Component.

在挣扎了大约一个小时后,我找到了这个问题,最后通过一些实验找到了解决方案:

androidTestAnnotationProcessor’com.google.dagger:dagger-compiler:2.9′

并再次执行compileDebugAndroidTestSources.现在应该生成代码(如果图表没问题,您可能必须临时注释掉对Dagger *组件的引用,以便编译成功).

如果您的图形存在问题(例如,缺少@Provides),您将收到错误(与没有androidTestAnnotationProcessor的先前状态形成对比,其中任务完成且没有错误但未生成源)

<咆哮>

我曾经喜欢Dagger,但是时不时会出现一些奇怪的问题,这对长期的商业项目来说是一个很大的风险.此外,他们仍然没有相应的文档,这使得新开发人员非常努力地学习它.可能这不仅仅是Dagger的错,可能是gradle和Android Studio在问题中有所作为,但我正在认真考虑转储它.

< /咆哮>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐