Tôi đã thử nghiệm Dagger 2, và mọi thứ đã hoạt động, cho đến khi tôi thực hiện một chút tái cấu trúc. Bây giờ gradle là ném một IllegalArgumentException
, và tôi không thể tìm ra những gì tôi đã thay đổi mà bây giờ gây ra lỗi. Tôi chưa thực hiện bất kỳ thay đổi nào đối với tệp gradle và điều này có vẻ là gánh nặng của dấu vết ngăn xếp:Dagger 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
Không có tệp nào được tạo bởi Dagger và trước đó. Tôi đã thử mọi phương pháp để khắc phục điều này mà tôi có thể tìm thấy, chủ yếu liên quan đến việc sửa chữa các tập tin gradle hoặc thanh toán bù trừ ra các thư mục xây dựng, nhưng cho đến nay không có gì đã làm việc.
Cập nhật nhanh (vì tôi nhận thấy một vài phiếu bầu); Tôi chưa bao giờ tìm ra những gì tôi đã làm sai, tôi đã trở lại một công trình cũ. Sau khi hoàn nguyên, tôi đã tái cấu trúc lại và nó hoạt động tốt. Tôi phải làm điều gì đó khác khi tôi ban đầu tái cấu trúc mã, nhưng tôi không biết nó là gì.
Nếu bất cứ ai có ý tưởng về những gì có thể gây ra điều này, tôi chắc chắn nó sẽ giúp đỡ bất kỳ ai khác, hoặc trong tương lai, sẽ gặp phải vấn đề này.
+1 cho giải pháp thay thế của bạn, đó cũng chính là vấn đề của tôi với FirebaseMessagingService sau khi tôi cố gắng đưa các phụ thuộc vào nó. Có thể có một số vấn đề với obfuscation? – gnuf
Làm thế nào tôi muốn điều này có thể đã được giải thích bởi các nhân viên Firebase và Dagger –
Xảy ra khi bạn mở rộng "FirebaseInstanceIdService". – LEO