मैं डैगर 2 का परीक्षण कर रहा हूं, और सबकुछ काम कर रहा था, जब तक कि मैंने कुछ रिफैक्टरिंग नहीं किया। अब धीरे-धीरे IllegalArgumentException
फेंक रहा है, और मैं यह नहीं समझ सकता कि मैंने जो बदलाव किया है वह अब त्रुटि उत्पन्न कर रहा है। मैं Gradle फ़ाइल में कोई परिवर्तन नहीं किया है, और यह स्टैक ट्रेस का खामियाजा हो रहा है:डैगर 2 बिल्ड अवैध अर्ग्यूमेंट एक्सेप्शन संकलन डेबगजवाविथजाक
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
कोई फाइल डैगर द्वारा और साथ उत्पन्न किया जा रहा है, और वे पहले से थे। मैं इसे ठीक करने के लिए हर विधि का प्रयास कर रहा हूं जिसे मैं पा सकता हूं, जिसमें ज्यादातर ग्रिड फाइलों को ठीक करना या बिल्ड फ़ोल्डर को साफ़ करना शामिल है, लेकिन अभी तक कुछ भी काम नहीं किया है।
त्वरित अपडेट (चूंकि मैंने कुछ अप-वोट देखा); मैंने कभी नहीं पता कि मैंने क्या गलत किया है, मैं एक पुराने निर्माण में वापस आ गया। वापसी के बाद, मैंने दोबारा रिफैक्टरिंग की और यह ठीक काम किया। जब मैंने प्रारंभ में कोड को दोबारा प्रतिक्रिया दी, तो मैंने कुछ अलग किया होगा, लेकिन मुझे नहीं पता कि यह क्या था।
अगर किसी को यह पता चल गया कि इसका क्या कारण हो सकता है, तो मुझे यकीन है कि इससे भविष्य में किसी और की मदद मिलेगी, या भविष्य में, इस मुद्दे में भाग लेंगे।
+1 आपके वर्कअराउंड के लिए, यह वास्तव में मेरे मुद्दे पर FirebaseMessagingService के साथ भी था जब मैंने इसमें निर्भरता लगाने की कोशिश की। शायद obfuscation के साथ कुछ मुद्दा है? – gnuf
फायरबेस और डैगर लड़कों द्वारा यह मेरी इच्छा कैसे समझा जा सकता है –
जब आप "FirebaseInstanceIdService" का विस्तार करते हैं तो भी होता है। – LEO