Square Dagger IllegalStateException: Moduladapter für Klasse MyApplicationModule konnte nicht geladen werden

Ich benutze Eclipse und Dagger 1.2.2 für mein Android-Projekt. Ich habe es geschafft, eine Testanwendung mit Dagger zu implementieren. Aber mit meiner "echten" Anwendung bekomme ich:

Java.lang.RuntimeException: Applikation kann nicht app.MyApplication: java.lang.IllegalStateException: Moduladapter für Klasse app.MyApplicationModule konnte nicht geladen werden. Bitte stellen Sie sicher, dass die Codegenerierung für dieses Modul durchgeführt wurde. :

  • Dolch 2 Umfang und Unterkomponenten
  • Wie man Abhängigkeiten in jede Art von Objekt mit Dagger2 injizieren?
  • Implementierung von GoogleApiClient auf Android mvp mit Dolch?
  • Kann jemand eine gute Erklärung von Dagger 2 geben?
  • Android MVVM Design Muster Beispiele
  • Singletons im Dolch 1.x
  • FATAL EXCEPTION: main java.lang.RuntimeException: Unable to create application app.MyApplication: java.lang.IllegalStateException: Module adapter for class app.MyApplicationModule could not be loaded. Please ensure that code generation was run for this module. at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4687) at android.app.ActivityThread.access$1400(ActivityThread.java:159) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5419) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalStateException: Module adapter for class app.MyApplicationModule could not be loaded. Please ensure that code generation was run for this module. at dagger.internal.FailoverLoader$1.create(FailoverLoader.java:45) at dagger.internal.FailoverLoader$1.create(FailoverLoader.java:40) at dagger.internal.Memoizer.get(Memoizer.java:56) at dagger.internal.FailoverLoader.getModuleAdapter(FailoverLoader.java:57) at dagger.internal.Modules.loadModules(Modules.java:43) at dagger.ObjectGraph$DaggerObjectGraph.makeGraph(ObjectGraph.java:174) at dagger.ObjectGraph$DaggerObjectGraph.access$000(ObjectGraph.java:138) at dagger.ObjectGraph.create(ObjectGraph.java:129) at app.MyApplication.onCreate(MyApplication.java:17) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4684) ... 10 more 

    Dies ist MyApplication.java :

     public class MyApplication extends Application implements InjectableApplication { private ObjectGraph objectGraph; @Override public void onCreate() { super.onCreate(); objectGraph = ObjectGraph.create(new MyApplicationModule(this)); objectGraph.inject(this); } @Override public void inject(Object o) { objectGraph.inject(o); } public ObjectGraph getObjectGraph() { return objectGraph; } } 

    Das ist mein AndroidManifest.xml :

     <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="app" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="18" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:name="app.MyApplication" > <activity android:name="app.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

    Ich habe auch die Dolch-Gläser auf den Baustellenpfad und den Fabrikpfad eingeschlossen.

  • Build-Pfad unvollständig nur in einigen Arbeitsbereichen (Android)
  • Besserer Android-XML-Layout-Editor als der in Eclipse
  • JavaDoc in einem Eclipse Android Projekt
  • Android Collapsing Toolbar nicht mit Trägheit wie Google Play App verwendet
  • Kann das Ziel 'android-15' nicht lösen, bis das SDK geladen ist
  • Eclipse (Android Bundle) Absturz
  • 4 Solutions collect form web for “Square Dagger IllegalStateException: Moduladapter für Klasse MyApplicationModule konnte nicht geladen werden”

    Für jedermann, das dieses Problem gehabt haben könnte, wie ich tat. Das Problem, das ich vor war, ist, dass ich nicht hinzufügen, eine Abhängigkeit in meinem Gradle Build-Datei zu erlauben Dolch zu Code-Generierung ontop meiner Klassen zu tun:

    Füge das hinzu:

     apt 'com.squareup.dagger:dagger-compiler:1.2.2' 

    Update: Wenn du nicht weißt, wo das apt Plugin ist, kannst du es in deinem Projekt installieren. Meine Abhängigkeiten sehen so aus:

     dependencies { classpath 'com.android.tools.build:gradle:1.0.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4+' } 

    Ich habe meinen Fehler gefunden:

    Sie müssen " Projektspezifische Einstellungen aktivieren " für "Java Compiler" und "Annotation Processing" aktivieren. Jetzt meine Anwendung wirft eine Menge anderer Fehler, aber die Dagger Code Generation Zeug funktioniert!

    Wenn Sie multiDex verwenden, vergessen Sie nicht, es in YourApp.class zu aktivieren

      @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } 

    Das hat mein ähnliches Problem gelöst.

    Projekt build.gradle:

     // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4+' } } allprojects { repositories { jcenter() } } 

    App build.gradle:

     buildscript { repositories { mavenCentral() ... } ... } ... apply plugin: 'com.android.application' apply plugin: 'android-apt' ... dependencies { ... compile 'com.squareup.dagger:dagger:1.2.2' provided 'com.squareup.dagger:dagger-compiler:1.2.2' apt 'com.squareup.dagger:dagger-compiler:1.2.2' ... } configurations { provided } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.