Ich habe Dagger 2 getestet, und alles hat funktioniert, bis ich ein bisschen Refactoring gemacht habe. Jetzt wirft Gradle eine IllegalArgumentException
, und ich kann nicht herausfinden, was ich geändert habe, dass jetzt den Fehler verursacht. Ich habe keine Änderungen an der gradle Datei vorgenommen, und dies scheint die Hauptlast der Stack-Trace zu sein:Dolch 2 Build IllegalArgumentException compileDebugJavaWithJavac
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':mobile:compileDebugJavaWithJavac'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
...
Caused by: java.lang.IllegalArgumentException
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
at dagger.internal.codegen.writer.ClassName.peerNamed(ClassName.java:130)
at dagger.internal.codegen.SourceFiles.membersInjectorNameForMembersInjectionBinding(SourceFiles.java:266)
at dagger.internal.codegen.InjectBindingRegistry.registerBinding(InjectBindingRegistry.java:194)
at dagger.internal.codegen.InjectBindingRegistry.registerBinding(InjectBindingRegistry.java:171)
at dagger.internal.codegen.InjectProcessingStep.process(InjectProcessingStep.java:129)
at dagger.shaded.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:228)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
... 89 more
keine Dateien von Dagger als auch erzeugt werden, und sie waren zuvor. Ich habe jede Methode versucht, um das zu beheben, das ich finden kann, größtenteils mit dem Reparieren der Gradle-Dateien oder dem Löschen des Erstellungsordners, aber bis jetzt hat nichts funktioniert.
Schnelle Aktualisierung (seit ich ein paar Up-Stimmen bemerkt habe); Ich habe nie herausgefunden, was ich falsch gemacht habe, und bin zu einem alten Build zurückgekehrt. Nach dem Zurücksetzen habe ich das Refactoring erneut durchgeführt und es hat gut funktioniert. Ich muss etwas anderes gemacht haben, als ich den Code ursprünglich überarbeitet habe, aber ich habe keine Ahnung, was es war.
Wenn jemand eine Idee davon hat, was das verursacht haben könnte, bin ich mir sicher, dass es jedem anderen helfen wird, der dieses Problem in der Zukunft hat oder in Zukunft haben wird.
+1 für Ihre Problemumgehung, es war genau mein Problem auch mit FirebaseMessagingService, nachdem ich versucht habe, Abhängigkeiten in es zu injizieren. Vielleicht gibt es ein Problem mit der Verschleierung? – gnuf
Wie ich wünschte, dass dies von Firebase und Dagger Jungs erklärt werden könnte –
Kommt vor, wenn Sie "FirebaseInstanceIdService" auch erweitern. – LEO