私は正常に動作していた Android プロジェクトを開発しています。OSX Mavericksにアップデートした後、Android Studio を開くと、JDK をアップデートする必要があるというメッセージが表示されました。私はそうしました、そしてすべてがうまくいきました。アプリをコンパイルできますがNoClassDefFoundError
、独自のクラスの 1 つにスローされます。
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 バージョンの問題である可能性があることを示唆しています。それは、他のプロジェクトをコンパイル/実行できる理由を説明していません。
ありがとう!マックが恋しい…
【追記】解決しました!
問題は、ParameterWidgetGraphicalView クラスが見つからなかったことではなく、jar にコンパイルされたその親でした。
そのjarを再コンパイルしたところ、動作するようになりました。