Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

Проблема с Dagger 2

Делаю тестовый проект с использованием Dagger2. Попадаю на ошибку
Error:Execution failed for task ':app:compileDebugJavaWithJavac'. java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSetMultimap$Builder.putAll(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSetMultimap$Builder;
Не могу понять в чем дело. Поиски решения пока что не увенчались успехом.
Вот код проекта:
App:
public class App extends Application { private static AppComponent component; public static AppComponent getComponent() { return component; } @Override public void onCreate() { super.onCreate(); component = buildComponent(); } protected AppComponent buildComponent() { return DaggerAppComponent.builder() .build(); } }
AppComponent:
@Singleton @Component(modules = {NetWorkApiModule.class}) public interface AppComponent { void inject(MainActivity mainActivity); }
NetWorkApiModule:
@Module public class NetWorkApiModule {
@Provides @Singleton public NetWorkApi getNetwork(){ return new NetWorkApi(); } }
MainActivity:
public class MainActivity extends AppCompatActivity {
@Inject NetWorkApi mNetWorkApi;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); App.getComponent().inject(this); boolean injected = mNetWorkApi != null; ((TextView)findViewById(R.id.text)).setText(String.valueOf(injected)); } }


Ответ

Скопировал полностью ваш код, все работает. В gradle project
// Assists in working with annotation processors for Android Studio. classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
в gradle app
// Dagger 2 and Compiler compile 'com.google.dagger:dagger:2.0.1' apt "com.google.dagger:dagger-compiler:2.0.1"
//Needed for @Generated annotation (missing in Android API jar) // No longer needed in dagger >= 2.1-SNAPSHOT (github.com/google/dagger/issues/95) compile 'javax.annotation:jsr250-api:1.0'
// Assists in working with annotation processors for Android Studio. apply plugin: 'com.neenbedankt.android-apt'

Комментариев нет:

Отправить комментарий