我正在开发一个运行良好的Android项目。更新到 OSX Mavericks 后,当我打开Android Studio时,它显示一条消息,说它需要更新JDK。我这样做了,一切都很顺利。我可以编译应用程序,但它会在我自己的一个类中抛出一个NoClassDefFoundError
。
10-25 10:24:10.403 12318-12318/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.vitasalutis.client.main.parameterwidgets.graphs.ParameterWidgetGraphicalView
at com.vitasalutis.client.main.parameterwidgets.MainWidget.<init>(MainWidget.java:215)
at com.vitasalutis.client.main.ParameterMenuFragment.onCreateView(ParameterMenuFragment.java:107)
at android.app.Fragment.performCreateView(Fragment.java:1695)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:861)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1137)
ParameterWidgetGraphicalView
属于相同模块,并作为活动投射,因此它不是链接问题。
我正在使用API-17进行编译和测试。
网上的其他问题表明它可能是SDK / JDK版本问题。这并不能解释为什么我能够编译/运行其他项目。
谢谢! 我想念我的Mac ......
[更新]解决了!
问题不在于它找不到ParameterWidgetGraphicalView类,而是在jar中编译它的父类。
我重新编译了那个罐子,现在它可以工作了。
答案 0 :(得分:0)
解决了它。
问题不在于它找不到ParameterWidgetGraphicalView类,而是它的父类。
父母是在一个罐子里编译的。我不知道它为什么不起作用,但我重新编译了那个jar,现在它可以工作了。
可能与JDK版本有关...