LoginSignup
1
0

More than 5 years have passed since last update.

Xamarin で Java.Lang.NoClassDefFoundError が発生した場合の対応例

Last updated at Posted at 2016-09-01

Visual Studio 2015 の Xamarin で、Android アプリケーション作成中に、不可解な Java.Lang.NoClassDefFoundError が発生し、解消に至ったので、一例として共有します。

現象

Android アプリの(エミュレーターにおける)デバッグ実行時に、Java.Lang.NoClassDefFoundError が発生。メッセージボックスには、コードから削除したはずのクラス名が表示されています。

無題.png

ちなみにエミュレーターは、Visual Studio 付属?の emulator.exe / emilator-x86.exe で、Atom(x86) の Android 環境を再現させています。

解決した方法

デバッグ用にアップロードされたエミュレーター上の開発中アプリケーションを、手操作でアンインストールしました。その次からは発生しなくなりました。

試す価値がある/試した(けれども今回は違った)方法

消したはずのクラス名が例外の情報として表示されていたので、まだどこかに残っているのか?と思い、ソリューション全体からそのクラス名のテキスト検索(Visual Studio の検索機能)をしてみましたが、ひとつも見つかりません。

MainActivityのレイアウト表示までのみ有効にして、以降をすべてコメントアウト(MainActivity 以外のクラスは定義丸ごとコメントアウト)してみましたが、コメント中のコード行を示して NoClassDefFoundError 例外が発生しました。なんじゃこりゃぁ...

StackOverflow さんには、「プロジェクト・ソリューションのクリーン -> binフォルダとobjフォルダを削除 -> ? -> リビルド」の解決例も書かれていました。私の場合は、クリーンとbin/objフォルダ削除をしてみましたが、解決しませんでした。ちなみに「クリーン」は、(Xamarinプロジェクトだけなのかはわかりませんが)objフォルダの中身は消さないのですね。。

IBMやサイトにも情報がありますが、今回は非該当でした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0