The jonki

呼ばれて飛び出てじょじょじょじょーんき

【Unity】Androidにインストール Exception: Error building Player: Win32Exception:

Unityで作ったSceneをAndroidにインストールするのにちょっとハマったのでメモ。

環境
  • Windows 7 Professional 64bit
  • Unity Pro 3.4.2
  • Java
    • java version "1.6.0_24"
    • Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
    • Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)

[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だしで、いまいちよくわからん感じに。

ま、まぁ動いたので今後の課題で(汗)