我使用的是okhttp 3.8和dagger 2.11,效果很好。当我改为okhttp 3.9时,我得到了错误的javax.annotation.Nullable not found。
所以,幸运的是,我尝试了包含dagger-android2.x依赖项并修复了错误。
我明白如果你想使用像DaggerActivity这样的类,或者你想要注入活动或片段,你必须包含dagger.android包,但为什么我需要将它包含在OkHttp中才能与Dagger一起使用?
中的此更改+ import javax.annotation.Nullable;
是问题。我必须包括:
实施'com.google.code.findbugs:jsr305:3.0.2'来修复错误
更新2:
我正在注入我的websocket监听器,我真的不需要这样做。这导致找不到ERROR javax.annotation.Nullable。我将我的代码更改为不注入websocketlistener,错误消失了,不再需要其他依赖项,错误完全是我的错。
答案 0 :(得分:2)
您实际上不必包含dagger-android2.x
依赖项。发生的事情是OkHttp 3.9现在使用javax.annotation.Nullable
,dagger-android2.x
依赖在内部使用,因此,通过gradle merge也可用于OkHttp。
正如您所指出的那样,将compile 'com.google.code.findbugs:jsr305:3.0.2'
添加到您的项目中就足够了。