Visual Studio 2015 の Xamarin で、Android アプリケーション作成中に、不可解な Java.Lang.NoClassDefFoundError が発生し、解消に至ったので、一例として共有します。
現象
Android アプリの(エミュレーターにおける)デバッグ実行時に、Java.Lang.NoClassDefFoundError が発生。メッセージボックスには、コードから削除したはずのクラス名が表示されています。
ちなみにエミュレーターは、Visual Studio 付属?の emulator.exe / emilator-x86.exe で、Atom(x86) の Android 環境を再現させています。
解決した方法
デバッグ用にアップロードされたエミュレーター上の開発中アプリケーションを、手操作でアンインストールしました。その次からは発生しなくなりました。
試す価値がある/試した(けれども今回は違った)方法
消したはずのクラス名が例外の情報として表示されていたので、まだどこかに残っているのか?と思い、ソリューション全体からそのクラス名のテキスト検索(Visual Studio の検索機能)をしてみましたが、ひとつも見つかりません。
MainActivityのレイアウト表示までのみ有効にして、以降をすべてコメントアウト(MainActivity 以外のクラスは定義丸ごとコメントアウト)してみましたが、コメント中のコード行を示して NoClassDefFoundError 例外が発生しました。なんじゃこりゃぁ...
StackOverflow さんには、「プロジェクト・ソリューションのクリーン -> binフォルダとobjフォルダを削除 -> ? -> リビルド」の解決例も書かれていました。私の場合は、クリーンとbin/objフォルダ削除をしてみましたが、解決しませんでした。ちなみに「クリーン」は、(Xamarinプロジェクトだけなのかはわかりませんが)objフォルダの中身は消さないのですね。。
IBMやサイトにも情報がありますが、今回は非該当でした。