반응형

참고 출처 : https://docs.unity3d.com/kr/2018.2/Manual/android-gradle-overview.html

 

Android용 Gradle(Gradle for Android) - Unity 매뉴얼

Gradle은 빌드 프로세스 수를 자동화하는 Android 빌드 시스템입니다. 이 자동화로 인해 가장 일반적인 빌드 오류가 발생할 확률이 줄어듭니다. 특히 Unity 에디터에서 Gradle을 사용하면 DEX(Dalvik Executable 포맷) 파일의 메서드 레퍼런스 수가 감소하므로 DEX 제한과 관련된 문제가 발생할 가능성이 더 적습니다. 하지만 Gradle과 디폴트 Unity Android 빌드 시스템의 차이점으로 인해 일부 기존 프로젝트를 Grad

docs.unity3d.com

Unity에서 Android 용 Gradle 빌드 설정하는 방법은 위의 출처를 참조하면 된다.

 

참고출처2 : http://blog.naver.com/PostView.nhn?blogId=sdragoon&logNo=221378742876&parentCategoryNo=&categoryNo=29&viewDate=&isShowPopularPosts=true&from=search

 

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 폴더)

 

반응형
Posted by Sweetmeats_boy

블로그 이미지
Sweetmeats_boy

태그목록

Yesterday
Today
Total

달력

 « |  » 2024.11
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함