2013-05-23 14 views
13

की शुरुआत में कॉम/google/इंजेक्ट/आंतरिक/उपयोग/$ Finalizer.class मैं विकासशील और एंड्रॉइड उलटी गिनती ऐप हूं।java.io.FileNotFoundException: एंड्रॉइड ऐप

ऐप में आप जितनी चाहें उतने उलटी गिनती जोड़ या हटा सकते हैं।

सभी उलटी गिनती एक ArrayList में सहेजी जाती हैं। मैं उन्हें केवल डेटाबेस में या साझा प्राथमिकताओं में सहेज नहीं सकता क्योंकि यदि आप ऐप छोड़ते हैं तो भी उलटी गिनती चलाना पड़ता है।

मैं अपनी निर्भरता इंजेक्शन को संभालने के लिए roboguice 2.0 और guice-3.0-no_aop.jar का उपयोग कर रहा हूं।

अधिकांश बार कभी भी ठीक काम करता है लेकिन कभी-कभी अगर मैं ऐप शुरू करता हूं तो मुझे केवल निम्नलिखित चेतावनी मिलती है और आर्रेलिस्ट जैसे सभी चर मिलते हैं जहां मैंने उलटी गिनती को एक बार फिर खाली कर दिया है।

05-21 13:07:33.260: W/nalizableReferenceQueue(14417): Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Google Collections to your system class path. 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): java.io.FileNotFoundException: com/google/inject/internal/util/$Finalizer.class 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader.getBaseUrl(FinalizableReferenceQueue.java:269) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader.loadFinalizer(FinalizableReferenceQueue.java:253) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$FinalizableReferenceQueue.loadFinalizer(FinalizableReferenceQueue.java:175) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$FinalizableReferenceQueue.<clinit>(FinalizableReferenceQueue.java:100) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$QueueHolder.<clinit>(MapMaker.java:787) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$WeakEntry.<init>(MapMaker.java:946) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$Strength$1.newEntry(MapMaker.java:312) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(MapMaker.java:498) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(MapMaker.java:419) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2029) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:116) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:180) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:366) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.Key.strategyFor(Key.java:338) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.Key.get(Key.java:272) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:82) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.ConstantBindingBuilderImpl.annotatedWith(ConstantBindingBuilderImpl.java:49) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.config.DefaultRoboModule.configure(DefaultRoboModule.java:121) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.AbstractModule.configure(AbstractModule.java:59) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.spi.Elements.getElements(Elements.java:101) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.spi.Elements.getElements(Elements.java:78) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.RoboGuice.setBaseApplicationInjector(RoboGuice.java:81) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.RoboGuice.setBaseApplicationInjector(RoboGuice.java:137) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.RoboGuice.getBaseApplicationInjector(RoboGuice.java:57) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.RoboGuice.getInjector(RoboGuice.java:147) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.activity.RoboFragmentActivity.onCreate(RoboFragmentActivity.java:50) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at de.neosit.grafzahl.MainActivity.onCreate(MainActivity.java:38) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.Activity.performCreate(Activity.java:4637) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread.access$600(ActivityThread.java:127) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.os.Looper.loop(Looper.java:137) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread.main(ActivityThread.java:4499) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at java.lang.reflect.Method.invokeNative(Native Method) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at java.lang.reflect.Method.invoke(Method.java:511) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) 
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at dalvik.system.NativeStart.main(Native Method) 

मैं यह नहीं समझ सकता कि इस समस्या का कारण क्या है। मैंने पढ़ा कि किसी को भी एक ही समस्या थी लेकिन सामान्य मीनिंग यह थी कि यह सिर्फ एक चेतावनी है और इसे अनदेखा किया जा सकता है। तो शायद कुछ और varibles के रीसेट का कारण बन रहा है।

मुझे आशा है कि आप मेरी मदद कर सकते हैं। अग्रिम में धन्यवाद।

+0

मुझे यह त्रुटि भी मिल रही थी। लेकिन बाद में जब विभिन्न तरीकों का प्रयास किया जाता है तो मुझे शून्य अपवाद पता चलता है और मैं इसे इस तरह से करता हूं। यह आपकी मदद कर सकता है। http://stackoverflow.com/questions/17062640/what-is-wrong-with-roboguice – nesimtunc

+0

इस –

उत्तर

9

एंड्रॉयड स्टूडियो में, मैं build.gradle निर्भरता बदल दिया है।

dependencies { 
    ... 
    compile 'com.google.inject:guice:4.0-beta:no_aop' 
    compile 'org.roboguice:roboguice:2.0' 
} 
+2

आप किस से बदल गए? – Fadils

6

यह मार्गदर्शिका 3.0 no_aop के साथ एक समस्या प्रतीत होता है। मैं guice 4.0 (बीटा) no_aop के लिए अपग्रेड किया गया और मुद्दा चला गया।

<dependency> 
    <groupId>com.google.inject</groupId> 
    <artifactId>guice</artifactId> 
    <version>4.0-beta</version> 
    <classifier>no_aop</classifier> 
</dependency> 

आप भी मूल roboguice निर्भरता में कोई बहिष्करण जोड़ना करना होगा:

<dependency> 
    <groupId>org.roboguice</groupId> 
    <artifactId>roboguice</artifactId> 
    <version>2.0</version> 
    <scope>compile</scope> 
    <exclusions> 
     <exclusion> 
      <groupId>com.google.inject</groupId> 
      <artifactId>guice</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+1

के लिए उत्तर चुनें मैंने यह किया और यह काम किया। मैं अपने उत्पादन रिलीज में बीटा संस्करण का उपयोग नहीं करूंगा लेकिन फिर भी जानना अच्छा होगा। – Christof

1

this issue के अनुसार, समस्या एक सतही है। यह समझाए जाने के लिए कई परिपत्र संदर्भित खरगोश छेद प्रदान करता है, मैंने पहले कुछ के बाद छोड़ दिया। इसका अर्थ यह है कि यह कचरा ठीक से एकत्र नहीं किया जा सकता है और यदि आप "फंकी क्लासलोडर सामान कर रहे हैं" तो आप समस्याओं में भाग ले सकते हैं।

मेरे लिए, 4.0-बीटा के लिए अपग्रेड करने के लिए com.google.inject.utils.$ImmutableList के बारे में एक त्रुटि प्रस्तुत की गई, जो स्पष्ट रूप से सतही फ़ाइनलाइज़र समस्या से अधिक समस्याग्रस्त है।

संबंधित मुद्दे