Hwo to solve the ClassNotFoundException on Unity3D.
Unityで開発したプロジェクトをEclipseでカスタマイズするため、これらのコンテンツを参考にさせていただきました。
UnityでAndroidの機能を拡張する2つの手法とは(3/3) - @IT:
유니티 게임 개발의 정석 のGoogle翻訳 http://www.unitystudy.net/
このブログを書いている時点のバージョンは次の通りです。
Unity 3.5.3f3
Eclipse Indigo Service Release 2 (32bit) + Pleiades日本語化プラグイン
Android SDK r20
Unityで開発したAndroidアプリをEclipseでカスタマイズしてビルドするためには、大まかに次の手順が必要です。
1.
UnityをAndroid用にビルドしたあと、Unityプロジェクトのフォルダー内の
Temp\StagingArea
を Eclipse に Android Project from Existing Code としてインポートする
2.
インポートしたプロジェクトのプロパティーを開き、「Is Library」として設定する。
3.
新しいEclipseに新しいAndroid用プロジェクトを作成し、1.でインポートしたプロジェクトをライブラリーとして参照する。
ビルドパスにUnityのclasses.jarを追加する。
Unityのプロジェクトのassetsフォルダーの内容を新しいプロジェクトに移動する。
等
上記コンテンツを参考にUnityプロジェクトをEclipseでビルドしてみたところ、ClassNotFoundException のためビルドできない事態に陥ってしまいました。
LogCatにこのようなエラーが出ます。
いろいろ試して解決することができたのでその手順を公開します。
ビルドしたいプロジェクトのプロパティーを開き、「Javaのビルド・パス」の「ライブラリー」でUnity付属のclasses.jarを外部jarとして設定した後、、「順序及びエクスポート」でclasses.jarにチェックをつけます。
これで ClassNotFoundException は起きなくなりました。
ライブラリーに外部jarを追加するだけでは足りないようです。
この他、UnityとEclipseのそれぞれパッケージ名が異なって設定されている場合も ClassNotFoundException が起きるようです。
Unityで作ったAndroidゲーム Shuffle!V 公開中です!
以上、参考になれば幸いです。
関連ブログ
[Android] Unity + Eclipse の unityplayerproxyactivity.jarの欠落を解決する
[Unity 3D] Blender could not be found.を解決するには
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。