mbm*_*bmc 8 android android-gradle-plugin android-instrumentation dagger-2 annotation-processor
对于检测测试,我有一个TestApplication创建一个TestComponent,但不再生成文件(Error:/xxx/TestApplication.java:16: The import.xxx.DaggerTestApplicationComponent cannot be resolved).我无法确定根本原因.我尝试了不同的Android Studio(2.2,2.1.2),不同的gradle插件(2.2.0-alpha6,5,4)和不同版本的dagger(2.2到2.6).
我应该用androidTestAnnotationProcessor吗?(以前不是这种情况)
编辑:使用dagger 2.6,需要添加 classpath 'com.google.guava:guava:19.0'
更新:a出现问题Module,因此Component无法创建.但是,使用插孔(即使有调试选项),我也看不到问题.现在,恢复到java 7,gradle插件2.1.2.这样,无需指定哪个番石榴版本,以及所有最新的库都可以使用(dagger 2.6,butterknife 8.2.1,apt 1.8)
Ogn*_*yan 14
我和Dagger 2.9有同样的问题.compileDebugAndroidTestSources成功完成但Dagger*Component没有生成.
在挣扎了大约一个小时后,我找到了这个问题,最后通过一些实验找到了解决方案:
加
androidTestAnnotationProcessor 'com.google.dagger:dagger-compiler:2.9'
并compileDebugAndroidTestSources再次执行.现在应该生成源代码(Dagger*Component如果图表没问题,您可能必须临时注释掉对顺序编译的引用才能成功).
如果您的图形存在问题(例如,缺少@Provides),您将收到错误(与之前的状态形成对比,没有androidTestAnnotationProcessor任务完成而没有错误但未生成源)
<rant>
我曾经爱过Dagger但是偶尔会有一些奇怪的问题,这对长期的商业项目来说是一个很大的风险.此外,他们仍然没有相应的文档,这使得新开发人员非常努力地学习它.可能不仅仅是Dagger的错,可能是gradle和Android Studio在问题中有所作为,但我正在认真考虑转储它.
</rant>
| 归档时间: |
|
| 查看次数: |
1799 次 |
| 最近记录: |