on
Unity 프로젝트 - Android Studio에 연동하기
Unity 프로젝트 - Android Studio에 연동하기
반응형
연동을 하기전에 먼저 유니티에서 빌드후 export 된 안드로이드 프로젝트를 안드로이드 스튜디오에서 먼저 빌드하고 핸드폰에 실행되는지 확인을 해야한다.
2021.12.13 - [Develope/JAVA] - Unity 프로젝트 export - Android Studio에서 실행하기
이후에 해야할것은 유니티 프로젝트를 연동할 안드로이드 스튜디오 프로젝트에서의 작업들이다.
몇일에 걸쳐 시도를 하고, 유니티까지 공부하며 포기할뻔하다가 결국 성공을 했다.
그것도 영하 17도를 기록한 추운 겨울, 캠핑장에서 모두가 잠은 이 늦은 시간에..
잊어버리기 전에 기록을 해둔다.
1. 유니티에서 빌드된 안드로이드 프로젝트 파일중 unityLibrary 폴더를 복사해서 Android Studio 프로젝트 폴더에 복사한다.
스튜디오에서 복사하면 일부 파일이 복사가 안되어 직접 폴더에서 폴더로 복사했다.
2. local.properties 파일에서 NDK 경로를 설정해준다.
( 이 과정은 앞의 글에서 설정한 경로와 동일하다. )
3. settings.gradle 파일에서 유니티 프로젝트를 include 한다.
4. 프로젝트 상위 build.gradle 파일에서 아래와 같이 경로를 설정해준다.
( 이 과정은 유니티에서 나온 안드로이드 프로젝트 내부 build.gradle 과 동일하다 )
5. gradle.properties 수정
이 과정 또한 유니티에서 빌드되어 나온 안드로이드 프로젝트의 gradle.properties 를 참고하였다.
- jvmargs 기본 메모리가 2048 인데 4096 으로 변경
- parallel 설정
- unityStreamingAssets 설정
6. app 내부 build.gradle 설정
외부 프로젝트를 연동하는 마지막 단계이다.
implementation project(':unityLibrary')
여기까지 되었으면 프로젝트를 Sync 해준다.
Sync 가 무사히 잘 되면 이제 네이티브 코드에서 startActivity 로 유니티 프로젝트를 실행시켜줄 차례이다.
그전에 해야할 중요한 작업이 있다.
유니티 프로젝트에서 필요로 하는 resource 들을 복사해서 등록해준다.
유니티 원본 프로젝트의 res > values 파일들
여기서도 시간을 많이 보내왔고 해결책을 찾은것은 strings 파일의 아래 부분이다.
Game view
위의 부분을 Android Studio 프로젝트 res > strings 파일에 복사해주고
필자는 ids 와 styles 모두 복사를 해버렸다.
이제 마지막으로 유니티를 실행시켜줄 코드는 단 한줄
startActivity(Intent(this@MainActivity, UnityPlayerActivity::class.java))
필자는 MainActivity 에서 버튼을 누를때 실행을 했으므로 위와같이 작성했다.
이대로 실행시키면 당연히 Manifest 에러가 날것이므로 Manifest 에 UnityPlayerActivity 를 등록해준다.
이부분은 원본 유니티의 Manifest 에서 복사를 해오도록 한다.
이때, 유니티 프로젝트 폴더의 Manifest 파일에서 수정을 해야 할 부분이 있다.
바로 Intent Filter 이다.
이부분을 삭제 하지 않으면 앱이 2개가 설치가 된다.
유니티 프로젝트의 Manifest 화면 유니티 프로젝트의 Manifest 파일에서 Intent Filter 를 삭제한 화면
이제 끝이다.
실행을 하고 빌드 잘 되는지 살펴본다.
추가. android:process 부분은 유니티 플레이어에서 플레이어를 종료할 경우, Application.Quit() 을 하는데
이렇게 하면 무슨수를 써도 앱이 종료가 되버린다.
SIGKILL 9 와 함께..
여기서도 굉장히 많은 시간을 보냈는데
해결책은 저 한줄이었다.
이로써 초보 코틀러가 유니티를 연동 성공한 과정을 남겨보았다.
stackoverflow와 unity community 를 샅샅히 뒤지며..
선구자들께 감사와 더불어 이글을 보는 개발자분도 훌륭한 프로젝트를 만들수 있길
Cheers!
반응형
from http://brtech.tistory.com/150 by ccl(A) rewrite - 2021-12-19 04:02:00