Reputation: 10977
I have a rather big Android App project that is referencing several library projects. Everything was fine until i upgraded the eclipse ADT plugin to the newest version (v22). I also upgraded the SDK of course. I do not see any compile errors in eclipse, but when i run the project on the phone i get a NoClassDefFoundError.
java.lang.NoClassDefFoundError: org.acra.ACRA
....
The arca library is included in one of the referenced library project (in the libs folder) and i can see it in the "Android Private Libraries" in the package explorer, also as i said, no compile errors. The project runs fine on everyone else's computer that did not upgrade ADT.
I have already tried a whole bunch of stuff including but not limited to:
all without any success, so i'm getting really desperate here.
I would be really happy if anyone could give me a hint on how to solve that problem.
Upvotes: 240
Views: 71873
Reputation: 406
I had also the same problem,
i) add gson lib as referecend librairies
ii) check it in java Build Path
Upvotes: 0
Reputation: 15573
I had the same problem. It was because of the eclipse project. To solve it I created a new project in eclipse, copy my existing project classes and resources into it and then launched eclipse again and added my custom includes.
Upvotes: 3
Reputation: 371
I have encountered a similar problem, spent about 3 hours, but none of the proposed here decisions did not help... Finally I found a source of the problem: my project files & project.properties were read-only. Eclipse is simply silently ignoring any changes in library dependencies when I doing it in the GUI!
Upvotes: 4
Reputation: 151
Simply checking Android Private Libraries was not enough, I also had to install Android SDK Build-tools in Android SDK Manager.
Upvotes: 10
Reputation: 2973
I had also the same problem and my adt
was 22.0.1
. And none of the solution above worked. Further when adding a external library project to a working project.I always check the gen
folder of working project and if R
of external library project is there (along with package name),then only external library project is exported. And on my gen
folder no packagename
of external library was shown.
So I checked on project.properties
file and there wasn't any external library link present android.library.reference.1=
present. So I manually added the external library reference there ,even though I had added from project->properties->Java Build Path->Projects->Add
. So manually editing the project.properties
did all the work for me.
Upvotes: 4
Reputation: 1848
I had the similar issue and my answer is slightly different from CommonsWare's. Here is my screenshot:
After checking the libs back in my build started to work again.
Upvotes: 2
Reputation: 1007533
Quoting Streets of Boston from his adt-dev post:
When upgrading, the 'Order and Export' of the new 'Android Private Libraries' is not always checked. And the android-support-v4.jar is now in this 'Android Private Libraries' section.
To fix this, go to 'Order and Export' and check 'Android Private Libraries'. Then refresh/clean/rebuild.
After you done this 'fix' for a library project, you may need to just close and re-open any depending project, because they may not see this 'fix' immediately.
Give this a shot and with luck it will solve your problem.
Upvotes: 336