Я получаю следующий сбой при запуске приложения для Android после добавления первого модуля Dagger.
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/common/collect/ImmutableMap;
at com.sofaking.moonworshipper.DaggerAppComponent.getMapOfClassOfAndProviderOfFactoryOf(DaggerAppComponent.java:35)
at com.sofaking.moonworshipper.DaggerAppComponent.getDispatchingAndroidInjectorOfActivity(DaggerAppComponent.java:41)
at com.sofaking.moonworshipper.DaggerAppComponent.injectApp(DaggerAppComponent.java:64)
at com.sofaking.moonworshipper.DaggerAppComponent.inject(DaggerAppComponent.java:59)
at com.sofaking.moonworshipper.DaggerAppComponent.inject(DaggerAppComponent.java:16)
Кажется, проблема идентична этой в GitHub: https://github.com/google/dagger/issues/897
Я понимаю, что Кинжал пытается использовать Гуаву, хотя не должен - Но я не уверен, что делать, чтобы это исправить.Это не проблема proguard.
Я пытался включить guava в свои зависимости - что приводило к следующей ошибке при компиляции:
Error: Program type already present: com.google.common.util.concurrent.internal.InternalFutures
, что имеет смысл, так как в моем коде есть другие библиотекикоторые зависят от гуавы.
implementation 'com.google.dagger:dagger:2.15'
kapt 'com.google.dagger:dagger-compiler:2.15'
compile 'com.google.dagger:dagger-android:2.15'
compile 'com.google.dagger:dagger-android-support:2.15'
kapt 'com.google.dagger:dagger-android-processor:2.15'
// tried adding this as well, didn't work
api 'com.google.guava:guava:27.0-android'
Редактировать: Вот дерево разрешенных зависимостей: https://pastebin.com/RsPPjD6H