我使用okhttp 3.8和匕首2.11,它的效果很好。當我改爲okhttp 3.9時,我收到ERROR javax.annotation.Nullable not found。在Dagger 2.11中使用OkHttp 3.9.0 - 爲什麼我必須包含dagger-android2.x依賴項?
所以通過一些運氣,我嘗試了包括匕首android2.x依賴和修復錯誤。
我明白,如果你想使用像DaggerActivity這樣的類,或者如果你想注入活動或片段,你必須包含dagger.android包,但爲什麼我需要將它包含在OkHttp中才能與Dagger一起使用?
編輯:我做了一些更多的調查。 https://github.com/square/okhttp/commit/d4a9cf4772ae9d8991e58d934dea433798c9b8eb#diff-e88e53bd5c3b6fb1ba650f55b1261052R21
+ import javax.annotation.Nullable;
是疑難問題必須包括:
實行 'com.google.code.findbugs:JSR305:3.0.2' 修復錯誤
更新2:
我注入我的websocket監聽器中,我真的不需要這樣做。這導致未找到ERROR javax.annotation.Nullable。我改變了我的代碼,不注入websocketlistener,錯誤消失了,不需要額外的依賴,錯誤完全是我的錯。
你真的不必包括匕首Android包,這好像是一些無關的問題 –
它的確有關係。我無效緩存,刪除.gradle文件夾並刪除所有生成的代碼。我刪除了所有對okhttp的引用,並確認代碼編譯時沒有包含okhttp。然後我做了同樣的,但包括okhttp3.8仍然編譯好。我再次做了同樣的事情,但這次包括okhttp 3.9,並且出現錯誤,並且項目無法編譯。 – Chris