问题
I've got a new mac (Lion 10.7.3). Installed Eclipse and android sdk. Checked out my project from SVN , tried to run and got this ugly exception:
05-20 12:17:21.175: E/AndroidRuntime(32499): FATAL EXCEPTION: main
05-20 12:17:21.175: E/AndroidRuntime(32499): java.lang.NoClassDefFoundError: com.urbanairship.UAirship
05-20 12:17:21.175: E/AndroidRuntime(32499): at com.neo.ovs3.MyApp.onCreate(MyApp.java:16)
05-20 12:17:21.175: E/AndroidRuntime(32499): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
05-20 12:17:21.175: E/AndroidRuntime(32499): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3292)
05-20 12:17:21.175: E/AndroidRuntime(32499): at android.app.ActivityThread.access$2200(ActivityThread.java:117)
05-20 12:17:21.175: E/AndroidRuntime(32499): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
05-20 12:17:21.175: E/AndroidRuntime(32499): at android.os.Handler.dispatchMessage(Handler.java:99)
05-20 12:17:21.175: E/AndroidRuntime(32499): at android.os.Looper.loop(Looper.java:130)
05-20 12:17:21.175: E/AndroidRuntime(32499): at android.app.ActivityThread.main(ActivityThread.java:3703)
05-20 12:17:21.175: E/AndroidRuntime(32499): at java.lang.reflect.Method.invokeNative(Native Method)
05-20 12:17:21.175: E/AndroidRuntime(32499): at java.lang.reflect.Method.invoke(Method.java:507)
05-20 12:17:21.175: E/AndroidRuntime(32499): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
05-20 12:17:21.175: E/AndroidRuntime(32499): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
05-20 12:17:21.175: E/AndroidRuntime(32499): at dalvik.system.NativeStart.main(Native Method)
Tried to fix it in various ways by creating a new project ,recreating manifest file , changing the UA library , configuring the build path.Nothing helps.The project itself compiles without errors.
Important to mention that on my previous mac (and on PC) the same project is working immediately after check out.That means that this is not the project problem.
Any ideas ?
回答1:
Google has made some changes to the way they handle projects that use library projects in the latest ADT versions. While these changes are blessed, they cause errors when mixing old ADT plugin versions with new ones.
If you have an old ADT plugin in the old computer and you committed it this way, it would cause errors...
If so, what I suggest is going back to your old computer and updating all Google tools. Make sure the project is running fine and commit to the SVN. Checkout on the new computer and hopefully it would work...
回答2:
Found a solution !
This indeed caused by ADT update.
I just created a new android project and noticed that the structure is different from my previous project from SVN.
After that I followed this post Gson NoClassDefFoundError after ADT and SDK Tools update to v17
And copied the old files to the new project. Finally all worked fine.
I hope this will help people with the same problem.
来源:https://stackoverflow.com/questions/10672263/java-lang-noclassdeffounderror-com-urbanairship-uairship