2013-10-25 18 views
0

我正在開發一個工作正常的Android項目。更新到OSX Mavericks,當我打開Android Studio時,它顯示一條消息,說它需要更新JDK。我這樣做,一切都很順利。我可以編譯應用程序,但它會在我自己的類中引發NoClassDefFoundErrorAndroid:在我自己的類中獲取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測試。

What I have tried

  • 下載JDK7,並使用了該項目。
  • 從零開始重新安裝Android Studio(deleted all user files)。
  • 從頭創建項目並複製粘貼以前的源代碼。
  • 在Android Studio中編譯並測試了另一個類似的項目(不是gradle)。它運行良好。
  • 回到我的Win8機器。該應用程序工作正常...

網絡上的其他問題表明它可能是一個SDK/JDK版本問題。這並不能解釋爲什麼我能夠編譯/運行其他項目。

謝謝! 我想我的Mac ...

[更新]解決!
問題不在於它找不到ParameterWidgetGraphicalView類,而是它的父級是在jar中編譯的。
我重新編譯該jar,現在它可以工作。

+1

發佈此作爲答案,然後您將能夠接受它。 – Szymon

+0

完成。謝謝,@Szymon。 –

回答

0

解決了它。

問題不是它找不到ParameterWidgetGraphicalView類,而是它的父類。

父母被編譯成一個罐子。我不知道爲什麼它不起作用,但我重新編譯了這個jar,現在它可以工作。

可能與JDK版本有關...

相關問題