Android java.lang.NoClassDefFoundError

114,154

Solution 1

Did you recently updated your eclipse android plugin (adt r17)? Then the following link might help:

How to fix the classdefnotfounderror with adt-17

Update: One year has passed since the question arose. I will keep the link, because even in 2013 it seem to help some people to solve the problem. But please take care what you are doing, see Erics comment below. Current ADT-Version is 22, I recommend using the most current version.

Solution 2

Edit the build path in this order, this worked for me.

Make sure the /gen is before /src

enter image description here

Solution 3

I fixed the issue by just adding private libraries of the main project to export here:

Project Properties->Java Build Path->Order And Export

And make sure Android Private Libraries are checked.

Screenshot:

enter image description here

Make sure google-play-services_lib.jar and google-play-services.jar are checked. Clean the project and re-run and the classNotfound exception goes away.

Solution 4

I've run into this problem a few times opening old projects that include other Android libraries. What works for me is to:

move Android to the top in the Order and Export tab and deselecting it.

Yes, this really makes the difference. Maybe it's time for me to ditch ADT for Android Studio!

Solution 5

Imaage

Go to Order and export from project properties and make sure you're including the required jars in the export, this did it for me

Share:
114,154
Milos Cuculovic
Author by

Milos Cuculovic

Masters degree in Embedded and comunicant systems.

Updated on July 09, 2022

Comments

  • Milos Cuculovic
    Milos Cuculovic almost 2 years

    I have an Android project in eclipse IDE which was working. After some imports and tests, I get the error: java.lang.NoClassDefFoundError.

    In my project I have two packages: the main one and the second one with some classes.

    When I try to instantiate an object from the second package class in the main activity class, I am getting this error.

    Here is the logcat:

    FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.neurospeech.wsclient.MDPIforEditorialBoard
    at milos.mdpi.Journals.<init>(Journals.java:41)
    at java.lang.Class.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1409)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1040)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
    at android.app.ActivityThread.access$1500(ActivityThread.java:135)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:150)
    at android.app.ActivityThread.main(ActivityThread.java:4389)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
    at dalvik.system.NativeStart.main(Native Method)
    

    Found the solution to my problem:

    The solution can be found here: http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

  • Stan Kurdziel
    Stan Kurdziel about 12 years
    This worked for me also, but I had to temporarily switching the project target (from 2.2 -> 4.0.3 in my case) to get it to take effect. Possibly this was because my libs were already stored in a directory named "libs"
  • Eric Leschinski
    Eric Leschinski over 10 years
    WARNING, That link says to get rid of everything in your Libraries tab, if you follow these directions and get rid of your "Android Dependencies" virtual folder, you will have to create a new project and reconstruct your program from scratch to get it back.
  • Erwan
    Erwan over 10 years
    that fixed it for me. Thanks. FYI, this happened after discarding changes made to the .classpath file of the project through GIT and selecting "Android Private Properties" again does actually add these two extra lines back to .classpath.
  • sma
    sma over 10 years
    Every time When I put /gen before /src, eclipse eats up the whole memory and freezes my computer
  • Minsky
    Minsky over 10 years
    @Chris Sim. Without knowing what your problem is exactly, I would say that the solution here is not for your problem. I guess you did clean and rebuild your projects and of course checked your libs are set correctly in the properties.
  • Chris Sim
    Chris Sim over 10 years
    when i did: right click on the project - properties - java build path - Order and export - tick Android private libraries and all the libraries that I added everything worked fine thanks