gpt4 book ai didi

android - Proguard 与 Roboguice

转载 作者:行者123 更新时间:2023-11-29 15:43:17 28 4
gpt4 key购买 nike

我在应用程序中打开了 proguard 我在应用程序 onCreate 中有一个警告

RoboGuice.injectMembers(_appContext, this);

异常:

nalizableReferenceQueue﹕ 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.
java.io.FileNotFoundException: com/google/inject/internal/util/$Finalizer.class
at com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader.getBaseUrl(SourceFile:269)
at com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader.loadFinalizer(SourceFile:253)
at com.google.inject.internal.util.$FinalizableReferenceQueue.loadFinalizer(SourceFile:175)
at com.google.inject.internal.util.$FinalizableReferenceQueue.<clinit>(SourceFile:100)
at com.google.inject.internal.util.$MapMaker$QueueHolder.<clinit>(SourceFile:787)
at com.google.inject.internal.util.$MapMaker$WeakEntry.<init>(SourceFile:946)
at com.google.inject.internal.util.$MapMaker$Strength$1.newEntry(SourceFile:312)
at com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(SourceFile:498)
at com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(SourceFile:419)
at com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(SourceFile:2029)
at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(SourceFile:116)
at com.google.inject.internal.Annotations.isBindingAnnotation(SourceFile:180)
at com.google.inject.Key.ensureIsBindingAnnotation(SourceFile:366)
at com.google.inject.Key.strategyFor(SourceFile:338)
at com.google.inject.Key.get(SourceFile:272)
at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(SourceFile:82)
at com.google.inject.internal.ConstantBindingBuilderImpl.annotatedWith(SourceFile:49)
at roboguice.config.DefaultRoboModule.configure(SourceFile:117)
at com.google.inject.AbstractModule.configure(SourceFile:59)
at com.google.inject.spi.Elements$RecordingBinder.install(SourceFile:223)
at com.google.inject.spi.Elements.getElements(SourceFile:101)
at com.google.inject.spi.Elements.getElements(SourceFile:78)
at roboguice.RoboGuice.setBaseApplicationInjector(SourceFile:83)
at roboguice.RoboGuice.setBaseApplicationInjector(SourceFile:139)
at roboguice.RoboGuice.getBaseApplicationInjector(SourceFile:59)
at roboguice.RoboGuice.getInjector(SourceFile:149)
at roboguice.RoboGuice.injectMembers(SourceFile:156)
at com.package.MyApplication.x(SourceFile:847)
at com.package.MyApplication.onCreate(SourceFile:243)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1013)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4712)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5422)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

我在我的 proguard 文件中包含:

-keep public class * extends android.app.Application
-keep class com.google.inject.** { *; }
-keep class javax.inject.** { *; }
-keep class javax.annotation.** { *; }
-keep class roboguice.** { *; }

我还应该做什么?

最佳答案

添加到你的proguard文件

-keep class com.google.inject.internal.util.$Finalizer { *; }

关于android - Proguard 与 Roboguice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37118737/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com