Unity3D Android Plugin 작업중 바로 죽는다면

 유니티3D 안드로이드 플러그인 만들어 연동 작업중에 게임을 실행하자마자 죽더군요. 이런 문제는 원인이 여러가지겠지만 그래도 혹 저와 비슷한 상황에 처하시는 분들이 계시지 않을까하고 정리를 해봅니다.
 '애플리케이션이 예상치 않게 중지되었습니다. 다시 시도해주세요.' 이러면서 죽더군요.

 처음에는 이게 문제인줄 알았습니다. 갤럭시S2가 아직 업데이트 안된 그러니까 진저브레드 기반인데 젤리빈으로 빌드해서 그런가하고요. 그런데 아니더군요.

 다음에는 유니티3D 안드로이드 플로그인 만드는 걸 처음 하다보니 오타가 있지 않을까? 또는 놓친게 있겠지하고 다시 살펴봤습니다. 오타는 없었구요, 아래 주석한 부분이 문제였습니다.

package com.Test.unityandroidjartest;

import android.os.Bundle;

import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;

public class MainActivity extends UnityPlayerActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //setContentView(R.layout.activity_main);
 }
 public void javaTestFunc(String strFromUnity) {
  UnityPlayer.UnitySendMessage("AndroidManager", "SetJavaLog", strFromUnity + "HelloWorld");
 }
}

 UnityPlayerActivity를 상속한 액티비티는 onCreate함수에서 setContentView를 하지 않아야 잘 작동합니다. 이 문제가 아니라면 ADB로 로그캣에 로그도 남겨서 확인하는 방법이 있겠네요.

이 블로그의 인기 게시물

Unity3D Prime31 처럼 자신만의 안드로이드 플러그인을 만들어보자

CMake Windows에 설치하기

Unity3D iOS Plugin 만들어 연동하기