Android的Roboguice异常 [英] Android Roboguice Exception

查看:112
本文介绍了Android的Roboguice异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

刚开始我的方式与Roboguice为Android。 尝试实施的简单背景下注射,但得到此异常。 我GOOGLE了它,冲进相当多的职位,但不解决我的问题。 这是下面的异常,任何想法?

在此先感谢

  02-05 00:14:54.330:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.330:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.340:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.340:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.361:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.361:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.361:W / dalvikvm(777):VFY:找不到签名中引用的类(LCOM /谷歌/注入/供应商)
02-05 00:14:54.370:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.370:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.370:W / dalvikvm(777):VFY:找不到签名中引用的类(LCOM /谷歌/注入/供应商)
02-05 00:14:54.380:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.380:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.401:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.401:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.401:W / dalvikvm(777):VFY:找不到签名中引用的类(LCOM /谷歌/注入/供应商)
02-05 00:14:54.430:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.430:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.430:I / dalvikvm(777):未能解决Lroboguice /应用/ RoboApplication $ 1;接口82'LCOM /谷歌/注入/供应商;
02-05 00:14:54.430:W / dalvikvm(777):类的链接Lroboguice /应用/ RoboApplication $ 1;'失败
02-05 00:14:54.430:E / dalvikvm(777):找不到类的roboguice.application.RoboApplication $ 1',从方法roboguice.application.RoboApplication.initInstanceMembers引用
02-05 00:14:54.430:W / dalvikvm(777):VFY:无法解析新的实例655(Lroboguice /应用/ RoboApplication $ 1;)在Lroboguice /应用/ RoboApplication;
02-05 00:14:54.430:D / dalvikvm(777):VFY:更换运code输入0x22为0x0007
02-05 00:14:54.451:D / dalvikvm(777):VFY:在Lroboguice /应用/ RoboApplication死code 0x0009-006b; .initInstanceMembers()V
02-05 00:14:54.481:I / dalvikvm(777):找不到方法com.google.inject.internal.Maps.newHashMap,从方法roboguice.inject.ContextScope.getScopedObjectMap引用
02-05 00:14:54.481:W / dalvikvm(777):VFY:无法解析静态方法1165:LCOM /谷歌/注入/内部/地图; .newHashMap()Ljava / UTIL / HashMap的;
02-05 00:14:54.491:D / dalvikvm(777):VFY:更换运code 0x71在0x0018处
02-05 00:14:54.491:D / dalvikvm(777):VFY:死code 0x001b-0020在Lroboguice /注入/ ContextScope; .getScopedObjectMap(LCOM /谷歌/注入/键)Ljava / UTIL /地图;
02-05 00:14:54.500:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.500:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.500:W / dalvikvm(777):VFY:找不到签名中引用的类(LCOM /谷歌/注入/供应商)
02-05 00:14:54.500:I / dalvikvm(777):无法解析LCOM /谷歌/注入/供应商;接口627'Ljavax /注入/供应商;
02-05 00:14:54.500:W / dalvikvm(777):类的链接LCOM /谷歌/注入/供应商;失败
02-05 00:14:54.500:I / dalvikvm(777):未能解决Lroboguice /注入/ ContextScope $ 1;接口82'LCOM /谷歌/注入/供应商;
02-05 00:14:54.500:W / dalvikvm(777):类的链接Lroboguice /注入/ ContextScope $ 1;'失败
02-05 00:14:54.510:E / dalvikvm(777):找不到类的roboguice.inject.ContextScope $ 1',从方法roboguice.inject.ContextScope.scope引用
02-05 00:14:54.510:W / dalvikvm(777):VFY:无法解析新的实例672(Lroboguice /注入/ ContextScope $ 1;)在Lroboguice /注入/ ContextScope;
02-05 00:14:54.510:D / dalvikvm(777):VFY:更换运code输入0x22为0x0000
02-05 00:14:54.510:D / dalvikvm(777):VFY:死$ C $的Lroboguiceç0x0002-0005 /注入/ ContextScope; .scope(LCOM /谷歌/注入/键; LCOM /谷歌/注入/供应商;)LCOM /谷歌/注入/供应商;
02-05 00:14:54.571:E / dalvikvm(777):找不到类的javax.inject.Provider,从法com.google.inject.internal.MoreTypes.canonicalizeForKey引用
02-05 00:14:54.571:W / dalvikvm(777):VFY:无法解析常量级627(Ljavax /注入/供应商)在LCOM /谷歌/注入/内部/ MoreTypes;
02-05 00:14:54.571:D / dalvikvm(777):VFY:更换运code为0x1C在0x0021
02-05 00:14:54.580:D / dalvikvm(777):VFY:死code 0x0023-0045在LCOM /谷歌/注入/内部/ MoreTypes; .canonicalizeForKey(LCOM /谷歌/注射/ TypeLiteral;)LCOM /谷歌/注射/ TypeLiteral;
02-05 00:14:54.611:D / AndroidRuntime(777):关闭虚拟机
02-05 00:14:54.611:W / dalvikvm(777):主题ID = 1:螺纹退出与未捕获的异常(组= 0x4001d800)
02-05 00:14:54.640:E / AndroidRuntime(777):致命异常:主要
02-05 00:14:54.640:E / AndroidRuntime(777):java.lang.NoClassDefFoundError的:javax.inject.Provider
02-05 00:14:54.640:E / AndroidRuntime(777):在com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:81)
02-05 00:14:54.640:E / AndroidRuntime(777):在com.google.inject.Key< INIT>(Key.java:119)
02-05 00:14:54.640:E / AndroidRuntime(777):在com.google.inject.Key.get(Key.java:212)
02-05 00:14:54.640:E / AndroidRuntime(777):在roboguice.inject.ContextScope.enter(ContextScope.java:106)
02-05 00:14:54.640:E / AndroidRuntime(777):在roboguice.inject.ContextScope< INIT>(ContextScope.java:80)
02-05 00:14:54.640:E / AndroidRuntime(777):在roboguice.application.RoboApplication.initInstanceMembers(RoboApplication.java:100)
02-05 00:14:54.640:E / AndroidRuntime(777):在roboguice.application.RoboApplication.getInjector(RoboApplication.java:83)
02-05 00:14:54.640:E / AndroidRuntime(777):在roboguice.activity.RoboActivity.getInjector(RoboActivity.java:192)
02-05 00:14:54.640:E / AndroidRuntime(777):在roboguice.activity.RoboActivity.onCreate(RoboActivity.java:70)
02-05 00:14:54.640:E / AndroidRuntime(777):在com.robotest.MyActivity.onCreate(MyActivity.java:19)
02-05 00:14:54.640:E / AndroidRuntime(777):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-05 00:14:54.640:E / AndroidRuntime(777):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-05 00:14:54.640:E / AndroidRuntime(777):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-05 00:14:54.640:E / AndroidRuntime(777):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
02-05 00:14:54.640:E / AndroidRuntime(777):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
02-05 00:14:54.640:E / AndroidRuntime(777):在android.os.Handler.dispatchMessage(Handler.java:99)
02-05 00:14:54.640:E / AndroidRuntime(777):在android.os.Looper.loop(Looper.java:123)
02-05 00:14:54.640:E / AndroidRuntime(777):在android.app.ActivityThread.main(ActivityThread.java:4627)
02-05 00:14:54.640:E / AndroidRuntime(777):在java.lang.reflect.Method.invokeNative(本机方法)
02-05 00:14:54.640:E / AndroidRuntime(777):在java.lang.reflect.Method.invoke(Method.java:521)
02-05 00:14:54.640:E / AndroidRuntime(777):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
02-05 00:14:54.640:E / AndroidRuntime(777):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-05 00:14:54.640:E / AndroidRuntime(777):在dalvik.system.NativeStart.main(本机方法)
 

解决方案

谢谢你,看来我正与吉斯3,不支持通过Roboguice 1.1.2。我删除吉斯3,把吉斯2.0 no_aop,这解决了我的问题。再次感谢!

Just starting my way with Roboguice for android. Tried implementing this simple context injection but getting this exception. I googled it and ran into quite a few posts but non solved my issue. This is the exception below, any ideas?

Thanks in advance

02-05 00:14:54.330: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.330: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.340: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.340: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.361: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.361: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.361: W/dalvikvm(777): VFY: unable to find class referenced in signature (Lcom/google/inject/Provider;)
02-05 00:14:54.370: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.370: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.370: W/dalvikvm(777): VFY: unable to find class referenced in signature (Lcom/google/inject/Provider;)
02-05 00:14:54.380: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.380: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.401: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.401: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.401: W/dalvikvm(777): VFY: unable to find class referenced in signature (Lcom/google/inject/Provider;)
02-05 00:14:54.430: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.430: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.430: I/dalvikvm(777): Failed resolving Lroboguice/application/RoboApplication$1; interface 82 'Lcom/google/inject/Provider;'
02-05 00:14:54.430: W/dalvikvm(777): Link of class 'Lroboguice/application/RoboApplication$1;' failed
02-05 00:14:54.430: E/dalvikvm(777): Could not find class 'roboguice.application.RoboApplication$1', referenced from method roboguice.application.RoboApplication.initInstanceMembers
02-05 00:14:54.430: W/dalvikvm(777): VFY: unable to resolve new-instance 655 (Lroboguice/application/RoboApplication$1;) in Lroboguice/application/RoboApplication;
02-05 00:14:54.430: D/dalvikvm(777): VFY: replacing opcode 0x22 at 0x0007
02-05 00:14:54.451: D/dalvikvm(777): VFY: dead code 0x0009-006b in Lroboguice/application/RoboApplication;.initInstanceMembers ()V
02-05 00:14:54.481: I/dalvikvm(777): Could not find method com.google.inject.internal.Maps.newHashMap, referenced from method roboguice.inject.ContextScope.getScopedObjectMap
02-05 00:14:54.481: W/dalvikvm(777): VFY: unable to resolve static method 1165: Lcom/google/inject/internal/Maps;.newHashMap ()Ljava/util/HashMap;
02-05 00:14:54.491: D/dalvikvm(777): VFY: replacing opcode 0x71 at 0x0018
02-05 00:14:54.491: D/dalvikvm(777): VFY: dead code 0x001b-0020 in Lroboguice/inject/ContextScope;.getScopedObjectMap (Lcom/google/inject/Key;)Ljava/util/Map;
02-05 00:14:54.500: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.500: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.500: W/dalvikvm(777): VFY: unable to find class referenced in signature (Lcom/google/inject/Provider;)
02-05 00:14:54.500: I/dalvikvm(777): Failed resolving Lcom/google/inject/Provider; interface 627 'Ljavax/inject/Provider;'
02-05 00:14:54.500: W/dalvikvm(777): Link of class 'Lcom/google/inject/Provider;' failed
02-05 00:14:54.500: I/dalvikvm(777): Failed resolving Lroboguice/inject/ContextScope$1; interface 82 'Lcom/google/inject/Provider;'
02-05 00:14:54.500: W/dalvikvm(777): Link of class 'Lroboguice/inject/ContextScope$1;' failed
02-05 00:14:54.510: E/dalvikvm(777): Could not find class 'roboguice.inject.ContextScope$1', referenced from method roboguice.inject.ContextScope.scope
02-05 00:14:54.510: W/dalvikvm(777): VFY: unable to resolve new-instance 672 (Lroboguice/inject/ContextScope$1;) in Lroboguice/inject/ContextScope;
02-05 00:14:54.510: D/dalvikvm(777): VFY: replacing opcode 0x22 at 0x0000
02-05 00:14:54.510: D/dalvikvm(777): VFY: dead code 0x0002-0005 in Lroboguice/inject/ContextScope;.scope (Lcom/google/inject/Key;Lcom/google/inject/Provider;)Lcom/google/inject/Provider;
02-05 00:14:54.571: E/dalvikvm(777): Could not find class 'javax.inject.Provider', referenced from method com.google.inject.internal.MoreTypes.canonicalizeForKey
02-05 00:14:54.571: W/dalvikvm(777): VFY: unable to resolve const-class 627 (Ljavax/inject/Provider;) in Lcom/google/inject/internal/MoreTypes;
02-05 00:14:54.571: D/dalvikvm(777): VFY: replacing opcode 0x1c at 0x0021
02-05 00:14:54.580: D/dalvikvm(777): VFY: dead code 0x0023-0045 in Lcom/google/inject/internal/MoreTypes;.canonicalizeForKey (Lcom/google/inject/TypeLiteral;)Lcom/google/inject/TypeLiteral;
02-05 00:14:54.611: D/AndroidRuntime(777): Shutting down VM
02-05 00:14:54.611: W/dalvikvm(777): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
02-05 00:14:54.640: E/AndroidRuntime(777): FATAL EXCEPTION: main
02-05 00:14:54.640: E/AndroidRuntime(777): java.lang.NoClassDefFoundError: javax.inject.Provider
02-05 00:14:54.640: E/AndroidRuntime(777):  at com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:81)
02-05 00:14:54.640: E/AndroidRuntime(777):  at com.google.inject.Key.<init>(Key.java:119)
02-05 00:14:54.640: E/AndroidRuntime(777):  at com.google.inject.Key.get(Key.java:212)
02-05 00:14:54.640: E/AndroidRuntime(777):  at roboguice.inject.ContextScope.enter(ContextScope.java:106)
02-05 00:14:54.640: E/AndroidRuntime(777):  at roboguice.inject.ContextScope.<init>(ContextScope.java:80)
02-05 00:14:54.640: E/AndroidRuntime(777):  at roboguice.application.RoboApplication.initInstanceMembers(RoboApplication.java:100)
02-05 00:14:54.640: E/AndroidRuntime(777):  at roboguice.application.RoboApplication.getInjector(RoboApplication.java:83)
02-05 00:14:54.640: E/AndroidRuntime(777):  at roboguice.activity.RoboActivity.getInjector(RoboActivity.java:192)
02-05 00:14:54.640: E/AndroidRuntime(777):  at roboguice.activity.RoboActivity.onCreate(RoboActivity.java:70)
02-05 00:14:54.640: E/AndroidRuntime(777):  at com.robotest.MyActivity.onCreate(MyActivity.java:19)
02-05 00:14:54.640: E/AndroidRuntime(777):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-05 00:14:54.640: E/AndroidRuntime(777):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-05 00:14:54.640: E/AndroidRuntime(777):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-05 00:14:54.640: E/AndroidRuntime(777):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-05 00:14:54.640: E/AndroidRuntime(777):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-05 00:14:54.640: E/AndroidRuntime(777):  at android.os.Handler.dispatchMessage(Handler.java:99)
02-05 00:14:54.640: E/AndroidRuntime(777):  at android.os.Looper.loop(Looper.java:123)
02-05 00:14:54.640: E/AndroidRuntime(777):  at android.app.ActivityThread.main(ActivityThread.java:4627)
02-05 00:14:54.640: E/AndroidRuntime(777):  at java.lang.reflect.Method.invokeNative(Native Method)
02-05 00:14:54.640: E/AndroidRuntime(777):  at java.lang.reflect.Method.invoke(Method.java:521)
02-05 00:14:54.640: E/AndroidRuntime(777):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-05 00:14:54.640: E/AndroidRuntime(777):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-05 00:14:54.640: E/AndroidRuntime(777):  at dalvik.system.NativeStart.main(Native Method)

解决方案

thank you, it appears I was working with Guice 3, which is not supported by Roboguice 1.1.2. I removed Guice 3 and put Guice 2.0-no_aop and this solved my issue. Thanks again!

这篇关于Android的Roboguice异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆