Android:在我自己的类中获取NoClassDefFoundError
我正在开发一个运行良好的Android项目。在更新到OSX Mavericks之后,当我打开Android Studio时,它显示了一条消息,说它需要更新JDK。我这样做了,一切都很顺利。我可以编译这个应用程序,但它会在我自己的一个类中抛出一个Android:在我自己的类中获取NoClassDefFoundError,android,gradle,android-studio,osx-mavericks,Android,Gradle,Android Studio,Osx Mavericks,我正在开发一个运行良好的Android项目。在更新到OSX Mavericks之后,当我打开Android Studio时,它显示了一条消息,说它需要更新JDK。我这样做了,一切都很顺利。我可以编译这个应用程序,但它会在我自己的一个类中抛出一个NoClassDefFoundError 10-25 10:24:10.403 12318-12318/? E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.NoClassDefFoundError: c
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)
10-2510:24:10.40312318-12318/?E/AndroidRuntime﹕ 致命异常:主
java.lang.NoClassDefFoundError:com.vitaSalotis.client.main.parameterwidgets.graphs.ParameterWidgetGraphicalView
在com.vitawellis.client.main.parameterwidgets.MainWidget上。(MainWidget.java:215)
位于com.vitaSalotis.client.main.ParameterMenuFragment.onCreateView(ParameterMenuFragment.java:107)
位于android.app.Fragment.performCreateView(Fragment.java:1695)
在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:861)上
在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
在android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1137)
参数WidgetGraphicalView
与活动属于同一个模块和项目,因此不存在链接问题
我正在使用API-17进行编译和测试
:
- 下载JDK7,并在项目中使用
- 完全从头开始重新安装Android Studio()
- 从头创建项目并复制粘贴上一个源
- 在Android Studio中编译并测试了另一个类似的项目(但不是gradle)。它工作得很好
- 回到我的Win8机器。该应用程序运行良好
问题不是它找不到ParameterWidgetGraphicalView类,而是它在jar中编译的父类。
我重新编译了那个jar,现在它工作了。解决了它 问题不是它找不到参数WidgetGraphicalView类,而是它的父类 父级是在jar中编译的。我不知道它为什么不起作用,但我重新编译了jar,现在它起作用了 可能与JDK版本有关