2014年7月22日火曜日

UnityでEclipse用にエクスポートしたプロジェクトのアップデート方法

UnityでコーディングしてEclipseでAPK作成の方法は前回書いたとおりだが、今回は、修正点をフィックスしたり機能追加したりでアップデートするときにはどうしたらいいのか、というお話。

また一からインポートしたりするとせっかく修正したAndroidManifest.xmlが元に戻るので手で修正しないといけない。
でも毎回修正した点を漏れなく修正するのってめんどくさいし、漏れそう。

というわけで、どうするかというと、エクスポートしてできたフォルダのassets/binの直下にあるDataという名前のフォルダを入れ替えればOK。

念のため古いDataフォルダはどこかに退避させてassets/binの下には何もない状態にしておいて、新しいDataフォルダをコピーするのが一番安全。
このエントリーをはてなブックマークに追加

2014年7月20日日曜日

UnityでコーディングしてからEclipseでAPK作成する際にやったこと

Unityで作ったものをAndroid用にエクスポート(方法はググってください)できますが、
そのエクスポートされたものをそのままEclipseにインポートしても、
そのままだとエラーが出て動かなかったので、その対処方法を紹介します。

ビルドはできますが実機やエミュレーターで動かそうとしたら、
下のようなExceptionが吐かれます。
java.lang.RuntimeException: Unable to start activity ComponentInfo{*.*.*/com.unity3d.player.UnityPlayerProxyActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {*.*.*/com.unity3d.player.UnityPlayerNativeActivity}; have you declared this activity in your AndroidManifest.xml?
(注)「*.*.*」はアプリのパッケージ名です。
要するに、Activityが見つからないけどAndroidManifest.xmlに書いとるんけ、というエラーです。

そんなとき、AndroidManifest.xmlの
<activity android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale" android:name="*.*.*.UnityPlayerNativeActivity">
(注)「*.*.*」はアプリのパッケージ名です。
の赤文字の部分を
<activity android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale" android:name="com.unity3d.player.UnityPlayerNativeActivity">
に変えたらOKです。

となると、指定のパッケージの直下にUnityPlayerNativeクラスができているけど、
これは意味ないってことですな。

ホンマかいな。

このエントリーをはてなブックマークに追加