[英]Use Dagger2 in android library project throws `NoClassDefFoundError` at runtime
我在我的一個Android庫中使用了dagger2。 完成庫項目后,我使用gradle uploadArchive
將gradle 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.