multidex icon indicating copy to clipboard operation
multidex copied to clipboard

NoClassDefFoundError occurs on JDK 8

Open mrjohannchang opened this issue 11 years ago • 4 comments

I do not want to leak our app's package name, sorry for not attaching the error messages.

We tried this library and it works like a charm widh JDK 7. But I just found out that NoClassDefFoundError would occur if compiling by JDK 8.

Both Java versions are from Oracle.

mrjohannchang avatar Oct 27 '14 09:10 mrjohannchang

Just run a "find and replace" on your package name and put something else. Then post your logs.

casidiablo avatar Oct 27 '14 14:10 casidiablo

I/ActivityManager( 6168): Start proc com.company.android.gallery for activity com.company.android.gallery/com.company.android.gallery8.app.LoginActivity: pid=1610 uid=10171 gids={50171, 3003, 1028, 1015, 1006}
D/ActivityThread( 1610): handleBindApplication:com.company.android.gallery
D/ActivityThread( 1610): setTargetHeapUtilization:0.75
D/ActivityThread( 1610): setTargetHeapMinFree:2097152
W/ActivityThread( 1610): Application com.company.android.gallery can be debugged on port 8100...
I/dalvikvm( 1610): Could not find method com.activeandroid.ActiveAndroid.initialize, referenced from method com.company.android.gallery.app.GalleryAppImpl.initializeDatabasesPath
W/dalvikvm( 1610): VFY: unable to resolve static method 14954: Lcom/activeandroid/ActiveAndroid;.initialize (Landroid/content/Context;)V
D/dalvikvm( 1610): VFY: replacing opcode 0x71 at 0x0075
I/dalvikvm( 1610): Could not find method com.activeandroid.ActiveAndroid.dispose, referenced from method com.company.android.gallery.app.GalleryAppImpl.onTerminate
W/dalvikvm( 1610): VFY: unable to resolve static method 14949: Lcom/activeandroid/ActiveAndroid;.dispose ()V
D/dalvikvm( 1610): VFY: replacing opcode 0x71 at 0x0008
I/dalvikvm( 1610): Could not find method com.activeandroid.Cache.reInitNullDatabase, referenced from method com.company.android.gallery.app.GalleryAppImpl$1.onReceive
W/dalvikvm( 1610): VFY: unable to resolve static method 14960: Lcom/activeandroid/Cache;.reInitNullDatabase ()V
D/dalvikvm( 1610): VFY: replacing opcode 0x71 at 0x000e
I/dalvikvm( 1610): Could not find method com.activeandroid.Cache.reInitDatabase, referenced from method com.company.android.gallery.app.GalleryAppImpl$1.onReceive
W/dalvikvm( 1610): VFY: unable to resolve static method 14959: Lcom/activeandroid/Cache;.reInitDatabase ()V
D/dalvikvm( 1610): VFY: replacing opcode 0x71 at 0x001a
I/MultiDex( 1610): VM with version 1.6.0 does not have multidex support
I/MultiDex( 1610): install
I/MultiDex( 1610): MultiDexExtractor.load(/data/app/com.company.android.gallery-1.apk, false)
I/MultiDex( 1610): loading existing secondary dex files
I/MultiDex( 1610): load found 1 secondary dex files
I/MultiDex( 1610): install done
E/AndroidRuntime( 1610): FATAL EXCEPTION: main
E/AndroidRuntime( 1610): Process: com.company.android.gallery, PID: 1610
E/AndroidRuntime( 1610): java.lang.NoClassDefFoundError: com.activeandroid.ActiveAndroid
E/AndroidRuntime( 1610):        at com.company.android.gallery.app.GalleryAppImpl.initializeDatabasesPath(GalleryAppImpl.java:197)
E/AndroidRuntime( 1610):        at com.company.android.gallery.app.GalleryAppImpl.onCreate(GalleryAppImpl.java:145)
E/AndroidRuntime( 1610):        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
E/AndroidRuntime( 1610):        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4473)
E/AndroidRuntime( 1610):        at android.app.ActivityThread.access$1500(ActivityThread.java:144)
E/AndroidRuntime( 1610):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
E/AndroidRuntime( 1610):        at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 1610):        at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 1610):        at android.app.ActivityThread.main(ActivityThread.java:5146)
E/AndroidRuntime( 1610):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1610):        at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 1610):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
E/AndroidRuntime( 1610):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
E/AndroidRuntime( 1610):        at dalvik.system.NativeStart.main(Native Method)

mrjohannchang avatar Oct 28 '14 03:10 mrjohannchang

Did you add com.activeandroid.ActiveAndroid.class to the --main-dex-list file? It might be that the order in which classes are packed in the different dex files is different depending on the JDK version used. So you should try using --main-dex-list like the README section advises.

casidiablo avatar Oct 28 '14 18:10 casidiablo

What was your solution? Having trouble with something similar

JaceyPenny avatar Apr 04 '16 23:04 JaceyPenny