2012年11月3日土曜日

[Android] Unity + Eclipse のRuntimeException unable to link library を解決する

Hwo to solve the RuntimeException 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でビルド中に RuntimeException: unable to link library によりアプリが起動しない事態に陥ってしまいました。

いろいろ試して解決することができたのでその手順を公開します。

エラーが起きたときのLogCatの内容はこの通りです。
assetsフォルダーにUnityのlibsフォルダーとbinフォルダーをコピーしたにも関わらず、assetsフォルダーにあるべきファイルがないことになってます。
プロジェクトのリフレッシュを実行してもなぜか解決しません。

assetsフォルダーにUnityのlibsとbinがあることを確認し、Eclipseを一度終了して起動し直したところ、エラーがなくなりました。
とんだ無駄時間を過ごしてしまいました。

Unityで作ったAndroidゲーム Shuffle!V 公開中です!

以上、参考になれば幸いです。

関連ブログ
[Android] Unity + EclipseのClassNotFoundExceptionを解決する
[Android] Unity + Eclipse の unityplayerproxyactivity.jarの欠落を解決する
[Unity 3D] Blender could not be found.を解決するには

0 件のコメント:

コメントを投稿