Unityで作ったSceneをAndroidにインストールするのにちょっとハマったのでメモ。
環境
[File]->[Build Settings]->[Add Current]で現在のSceneを追加
PlatformではAndroidを選択。下の[Player Settings...]でAndroid appのアプリ名やAndroid version等、適当に設定する。
[Build and Run]をポチっとなする。
#Buildするとapkが作られるだけなので、Runもすることで自動でAndroidデバイス上でアプリがスタートする。
Android SDKをインストールしてあるandroid-sdk-windowsを選択する。
しかし、こんな感じのエラーがUnity側から吐かれる。
Exception: Error building Player: Win32Exception: ApplicationName='java.exe', CommandLine='-Dcom.android.sdkmanager.toolsdir="C:/usr/local/src/android/android-sdk_r12-windows/android-sdk-windows\tools" -classpath "C:/usr/local/src/android/android-sdk_r12-windows/android-sdk-windows\tools\lib\sdkmanager.jar" com.android.sdkmanager.Main list targets', CurrentDirectory='' UnityEditor.BuildPlayerWindow.BuildPlayerWithDefaultSettings (Boolean askForBuildLocation, BuildOptions forceOptions) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:367) UnityEditor.BuildPlayerWindow.GUIBuildButtons (Boolean enableBuildButton, Boolean enableBuildAndRunButton, Boolean canInstallInBuildFolder) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:972) UnityEditor.BuildPlayerWindow.ShowBuildTargetSettings () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:953) UnityEditor.BuildPlayerWindow.OnGUI () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:726) System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:225) UnityEditor.HostView.Invoke (System.String methodName) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:218) UnityEditor.HostView.OnGUI () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:119)
なんじゃこりゃってことでググるとこんなページがいくつか見つかる。
Error building Player: Win32Exception: ApplicationName='java.exe',
Unityは32bit動作なので64bitのJavaだと色々問題なのかな…、良くわからんがOracleのページからjdk-6u23-javafx-1_3_1-windows-i586.exeを取ってきてインストール。で、もう一回[Build and Run]したら普通に動いた。
JAVA_HOMEは変えてないし、コマンドプロンプトでJavaのバージョンを確認したけど相変わらず64bitだしで、いまいちよくわからん感じに。
ま、まぁ動いたので今後の課題で(汗)