2019. 7. 28. 17:15 Unity
Unity Adnroid 용 gradle Build에 대하여
참고 출처 : https://docs.unity3d.com/kr/2018.2/Manual/android-gradle-overview.html
Unity에서 Android 용 Gradle 빌드 설정하는 방법은 위의 출처를 참조하면 된다.
Unity Gradle Build란 무엇이며 어떤 상황에 사용하는가?
우선 unity로 앱, 게임을 개발할 시 안드로이드 Native 기능들을 사용하고자 할 경우
주로 PlugIn 형태로 만든 후 프로젝트에 Import하여 빌드해서 사용한다.
이러한 PlugIn들은 Gardle을 통해서 Unity가 빌드 시 필요한 Native모듈에서 lib를 다운받는데
이 때 피룡한 class를 찾지 못하거나 기타 문제를 발생 시킬 수 있다.
Unity gradle 빌드는 이러한 문제를 사전에 방지할 수 있다.
빌드설정에서 우선 Gradle Build로 Export를 진행하는 것인데 Export 시 AndroidStudio(이하 AS) 용 프로젝트가 생긴다.
이렇게 추출한 프로젝트를 AS에서 빌드를 해봄으로써 Gradle에 대해서 우선적으로 확인을 해보는 것이다.
이러한 과정을 거치면 우선 Unity Build중 Gradle에 의해서 빌드가 실패할 때 발생하는 시간 소모를 줄일 수 있다.
Unity에서 Gradle 빌드 시 Export된 프로젝트에서 생성되는 Build.Gradle은 Unity에서 빌드 시 활용하게 되는데
해당 파일을 Unity Asset/PlugIns/Android 폴더에 복사 후 mainTemplate로 이름을 변경한다.
그 후에 Unity 빌드 세팅에서 export를 해제한 후 빌드를 수행한다면 빌드 시 해당 mainTemplate 파일을 참고하여
빌드가 진행 된다.
----------------------
참고 출처 2에서도 나와있지만 개인적으로 고생했던 사항이라서 다시 적어둔다.
현재 서버에서 얼떨결에 클라이언트까지 맡게되서 처음 해본 Gradle 빌드 시도중 고생했던 경험을 적어본다.
멋모르고 Gradle 빌드 후 Export된 프로젝트의 Build.gradle(추후 mainTemplate로 바꿀)의 BuildScript항목에서
dependencies 항목에 classPath로 build:gradle:x.x.x가 있고 하이라이팅 되면서 최신버전으로 바꿀 수 있도록
정보를 AS에서 제공ㅇ하고 있었고 최신버전이 좋은것 같길래 해당 버전을 임의로 수정했었다.
그후 해당 파일을 sync 후 mainTemplate로 적용 후 빌드를 진행했는데 당연히 빌드 중 에러가 발생하였다.
우선 우리가 Export할 때 Unity에서 사용중인 gradle 버전이 위에서 수정한 항목으로 추출되는 것이다.
따라서 해당 gradle 버전을 변경하고 싶다면 우선 Unity가 사용하는 Gradle을 변경해준 후 다시 Export해야 한다.
Unity 설치 경로/Editor/Data/PlaybackEndgines/AndroidPlayer/Tools/gradle/lib 폴더를
Unity를 끈 후 다른 gardle버전의 lib로 덮어씌워주면 된다.
(ex : 특정 gradle 버전 다운 후 해당 폴더안의 lib 폴더)