안드로이드 스튜디오에서 유니티 실행
원래 운전자의 평가를 다루는 파트를 담당했지만 갑자기 프론트엔드? 안드로이드 스튜디오로 화면을 보여주게 되는 역할로 바뀌게 되어 부랴부랴 시작했다.
안드로이드 어플을 만들어서 버튼 클릭 시 유니티가 실행되게 (VR로 자동차 시뮬레이션이 보여지고 cardboard에 장착하여 보여지는게 이 프로젝트의 진행상황이다) 하려고 했다.
왜나면 VR을 실행해서 사용자의 간단한 정보를 얻기에는 한계가 있으므로 안드로이드 앱을 실행해서 나이를 입력받거나 하게끔 하기 위해서이다.
그러기 위해선
우선 안드로이드 스튜디오를 설치해 SDK와 API를 맞게 조정하고 시험할 핸드폰은 samsung SM-J530K로 API는 28(pie)를 사용한다. 그 다음 버튼을 만들어서 핸드폰에 버튼이 보이는 화면까지는 성공했다.
안드로이드에서 유니티를 연동시키는 방법은 아래와 같다.
- 안드로이드 스튜디오에서 유니티 연동방법
위의 사진에서 보이는 바와 같이 Unity를 폴더로 저장한 후 유니티 파일 안에 있는 jniLibs와 assets을
현재 안드로이드 스튜디오 안에 위와같이 옮겨준다.
또한 Unity폴더의 unity-classes.jar파일을 안드로이드 스튜디오의 libs에 옮겨주고
마지막으로 UnityPlayerActivity (유니티 폴더의) 를 안드로이드 스튜디오 main에 옮겨주면 된다.
+ 유니티에 설정을 먼저 안드로이드 스튜디오에 사용하기 위한 작업을 따로 해줘야 한다.
unity에서 preference에 들어가 sdk,jdk경로를 설정하고 build setting에서 player setting도 바꿔줘야 함!
이런 작업을 마치고 버튼을 만드는데 까지 진행했다.
그러나 버튼만 누르면 app kepps stopping이 계속 뜨고 앱이 중단되었다.....
이제 버튼을 누르면 유니티가 실행되기 위해서 intent를 사용해 유니티를 실행시키는 코드까지 작성해서 했지만...
무려 2주동안 삽질했다... 앱을 실행하면 오류가 계속 발견되어 더 이상 해결 할 수가 없어서 결국 멘토님께 연락을 드렸고 오류코드는 다음과 같다.
여러 오류코드들을 분석하고 잡으려 했지만(내 2주..날라감) 이것을 잡는것보다 유니티로 사용자의 입력을 받게 하는것이 더 빠를거라는 조언을 얻고 유니티를 해보려고 한다.ㅜㅜ
그래도 이 방법이 안된다고 확실하게 말씀해주셔서 홀가분하게 유니티에서 사용자의 입력을 받는 프론트엔드를 만들어 볼 수 있겠다!