gpt4 book ai didi

android - annotationProcessor + androidTest + dagger2

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:15 25 4
gpt4 key购买 nike

对于插桩测试,我有一个创建 TestComponentTestApplication,但不再生成该文件(Error:/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,需要添加 classpath 'com.google.guava:guava:19.0'

更新:模块有问题,因此无法创建组件。但是,使用 jack(即使有调试选项),我看不出问题所在。现在,恢复到 java 7,gradle 插件 2.1.2。这样,无需指定哪个 guava 版本,并且可以使用所有最新的库(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*Component 的引用以便编译成功)如果您的图形没问题。

androidTestAnnotationProcessor

我曾经很喜欢 Dagger,但它时不时会出现一些奇怪的问题,这使它成为长期商业项目的一大风险。此外,他们仍然没有合适的文档,这使得新开发人员很难学习它。可能这不仅仅是 Dagger 的错,可能是 gradle 和 Android Studio 在问题中发挥了作用,但我正在认真考虑放弃它。

<rant>

关于android - annotationProcessor + androidTest + dagger2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38623075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com