簡體   English   中英

在Android庫項目中使用Dagger2在運行時拋出`NoClassDefFoundError`

[英]Use Dagger2 in android library project throws `NoClassDefFoundError` at runtime

我在我的一個Android庫中使用了dagger2。 完成庫項目后,我使用gradle uploadArchivegradle uploadArchive上傳到Maven存儲庫。 然后在應用程序項目中使用compile group:artifect:version@aar語法來使用庫項目。 我構建應用程序沒有問題,但是在運行時,它為MyModule_ProvideAppFactory類生成的Dagger2拋出NoClassDefFoundError 我認為此類是為@Provides public Application provideApp()方法生成的。 但是生成的DaggerMyComponent可以在運行時找到,因為該異常發生在DaggerMyComponent類內部。 我什至在應用程序項目中包括以下依賴項

compile 'com.google.dagger:dagger:2.0'
compile 'javax.annotation:jsr250-api:1.0'

但是問題仍然存在。 我很確定不是因為65K method limits問題,因為我們在應用程序項目中啟用了multidex。 我不確定自己所缺少的內容,還是可以使用Dagger2?

原來,我錯過了Dagger2生成的類所需的另一個依賴項。 添加compile 'javax.inject:javax.inject:1'

到gradle文件,它工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM