xiaodududu / google-guice

Automatically exported from code.google.com/p/google-guice
Apache License 2.0
0 stars 0 forks source link

NoClassDefFoundError com.google.inject.Module #721

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Description of the issue:
I newed an android project, using Guice to inject class; But when i run it, 
ClassNotFoundException happens.

ps The Exception happened after i updated the Android Plugin newest version in 
eclipse,i couldn't settle it.

Version:
jdk-6u33-windows-x64
guice-2.0-no_aop
Android 2.1

Code:--------------------------------------------------------------------------
public class TextApplication{
....
 public void onCreate() {
        super.onCreate();
        singleton = this;

        this.in = Guice.createInjector(new BaseModule()); //Exception happens
........
}

public class BaseModule implements Module {

    @Override
    public void configure(Binder binder) {
        binder.bind(ServiceRequest.class).in(Scopes.SINGLETON);     
        binder.bind(TService.class).in(Scopes.SINGLETON);
        .......
    }

}
--------------------------------------------------------------------------

Log:--------------------------------------------------------------------------
08-02 16:28:26.646: E/dalvikvm(18212): Could not find class 
'[Lcom.google.inject.Module;', referenced from method 
com.shuyou.shop.TextApplication.onCreate
08-02 16:28:26.656: W/dalvikvm(18212): VFY: unable to resolve new-array 588 
([Lcom/google/inject/Module;) in Lcom/shuyou/shop/TextApplication;
08-02 16:28:26.656: W/dalvikvm(18212): threadid=1: thread exiting with uncaught 
exception (group=0x2aacc8a0)
08-02 16:28:26.666: E/AndroidRuntime(18212): FATAL EXCEPTION: main
08-02 16:28:26.666: E/AndroidRuntime(18212): java.lang.NoClassDefFoundError: 
[Lcom.google.inject.Module;
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
com.shuyou.shop.TextApplication.onCreate(TextApplication.java:27)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
android.app.ActivityThread.handleBindApplication(ActivityThread.java:4286)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
android.app.ActivityThread.access$3000(ActivityThread.java:132)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
android.app.ActivityThread$H.handleMessage(ActivityThread.java:2109)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
android.os.Handler.dispatchMessage(Handler.java:99)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
android.os.Looper.loop(Looper.java:123)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
android.app.ActivityThread.main(ActivityThread.java:4669)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
java.lang.reflect.Method.invokeNative(Native Method)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
java.lang.reflect.Method.invoke(Method.java:521)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
08-02 16:28:26.666: E/AndroidRuntime(18212):    at 
dalvik.system.NativeStart.main(Native Method)
--------------------------------------------------------------------------

Original issue reported on code.google.com by alexa...@gmail.com on 2 Aug 2012 at 9:29

GoogleCodeExporter commented 9 years ago
This error means, inherently, that you do not have the bytecode for Guice 
compiled into your app.  I expect that you are using Proguard and possibly it 
cleaned away bits of Guice.  Otherwise, it must be an incorrectly specified 
dependency list in your build system.

This is not a Guice bug, but might be a reasonable stackoverflow question.

Original comment by christia...@gmail.com on 14 Feb 2014 at 5:55