0

我正在开发一个运行良好的 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 进行编译和测试。

我尝试过的

  • 下载JDK7,并在项目中使用它。
  • 从头开始完全重新安装Android Studio(删除所有用户文件)。
  • 从头开始创建项目并复制粘贴以前的源。
  • 在 Android Studio 中编译并测试了另一个类似的项目(虽然不是 gradle)。它工作得很好。
  • 回到我的Win8机器。该应用程序运行良好...

网上其他问题提示可能是SDK/JDK版本问题。这并不能解释为什么我能够编译/运行其他项目。

谢谢!我想念我的Mac...

[更新] 解决了!
问题不在于它找不到 ParameterWidgetGraphicalView 类,而是它的父级编译在一个 jar 中。
我重新编译了那个jar,现在它可以工作了。

4

1 回答 1

0

解决了。

问题不是它找不到 ParameterWidgetGraphicalView 类,而是它的父类。

父母被编译在一个罐子里。我不知道为什么它不起作用,但是我重新编译了那个 jar,现在它起作用了。

可能与JDK版本有关...

于 2013-10-25T13:19:41.127 回答