2017-07-21 6 views
0

Ich versuche Dagger 2 in ein neues Projekt auf Android Studio zu importieren und einen Blick auf den verschiedenen Führungen und Dokumentation mit, ich bin nicht in der Lage DaggerAppComponentKann nicht neueren Dagger 2,11 API in Android verwenden

Mein Gradle Einstellungen verwenden folgt sind:

build (Projekt)

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.3' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

build (Modul: app)

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 

    defaultConfig { 
     applicationId "com.raywenderlich.todolist" 
     minSdkVersion 19 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:25.3.1' 
    compile 'com.android.support:design:25.3.1' 

    //Dagger 2 
    compile 'com.google.dagger:dagger:2.11' 
    compile 'com.google.dagger:dagger-android:2.11' 
    annotationProcessor 'com.google.dagger:dagger-android-processor:2.11' 
    annotationProcessor 'com.google.dagger:dagger-compiler:2.11' 
} 

Die in meiner TodolistApplication.java Klasse: Ich habe diese:

 @Override 
    public void onCreate() { 
    super.onCreate(); 

    DaggerAppComponent 
      .builder() 
      .application(this) 
      .build() 
      .inject(this); 
    } 

jedoch Android Studio zeigt die folgende Fehlermeldung:

Error:(21, 5) error: cannot find symbol variable DaggerAppComponent

ich das Projekt wieder aufzubauen und den Import verschiedener dagger Dateien versucht haben, aber nichts scheint zu funktionieren.

Antwort

2

Error:(21, 5) error: cannot find symbol variable DaggerAppComponent

Der obige Fehler ist kein Abhängigkeitsfehler. AppComponent muss, bevor es erstellt werden wie unten

@Module public class ApplicationModule { 
    //all dependency provides here 
} 

@Component(modules = ApplicationModule.class) 
public interface ApplicationComponent { 
} 

prüfen diese Referenz für vollständigeres Verständnis https://medium.com/@isoron/a-friendly-introduction-to-dagger-2-part-1-dbdf2f3fb17b

+0

Vielen Dank für das verwenden. Es hat einige meiner Probleme gelöst, DaggerAppComponent funktioniert jetzt, aber der Compiler greift nicht auf den '.application (this)' Teil dieses Codes zu. Ein weiterer) Fehler: kann keine Symbol-Methode-Anwendung finden (ToDoListApplication) - Ich fühle mich hier etwas klein vermisst. – Tander

+0

Okay, macht nichts. Ich habe den Fehler gefunden. Es war eine fehlende Methode in meiner AppComponent-Klasse. Danke für die Hilfe! – Tander

+1

@Tander Sie sollten diese Methode zu Ihrer 'ApplicationComponent' hinzufügen. Hast du Code aus einem Tutorial kopiert? – DeKaNszn

Verwandte Themen