Gradle은 빌드 프로세스 수를 자동화하는 Android 빌드 시스템입니다. 이 자동화로 인해 가장 일반적인 빌드 오류가 발생할 확률이 줄어듭니다. 특히 Unity 에디터에서 Gradle을 사용하면 DEX(Dalvik Executable 포맷) 파일의 메서드 레퍼런스 수가 감소하므로 DEX 제한과 관련된 문제가 발생할 가능성이 더 적습니다. 하지만 Gradle과 디폴트 Unity Android 빌드 시스템의 차이점으로 인해 일부 기존 프로젝트를 Gradle로 전환하기 어려울 수 있습니다.
Unity 에디터에서 Gradle 빌드 시스템을 사용하여 패키지(APK)를 빌드하거나 Gradle 프로젝트를 익스포트한 후 Android Studio와 같은 외부 도구에서 빌드할 수 있습니다.
자세한 내용은 Android 빌드용 Gradle 시작에서 Gradle의 리소스를 참조하십시오.
Unity 에디터에서 Gradle을 사용하여 Android 빌드를 빌드하는 방법은 다음과 같습니다.
Gradle 프로젝트를 익스포트하려면 위의 지침을 따르고, 빌드 창에서 Export Project 옵션을 선택해야 Build 를 클릭할 수 있습니다. Build 를 클릭하면 Unity 에디터가 APK를 작성하지 않고 지정된 디렉토리에서 Gradle 프로젝트를 생성합니다. 프로젝트를 Android Studio로 임포트하면 추가 수정을 하거나 빌드 프로세스를 완전히 제어할 수 있습니다.
패키지(APK) 빌드에 대한 자세한 내용은 Android Studio 빌드 구성 관련 문서를 참조하십시오.
Unity에서 APK를 빌드할 때 커스텀 build.gradle 파일을 사용하려면 플레이어 창에서 Custom Gradle Template 프로퍼티를 활성화하십시오.
그러면 기본 mainTemplate.gradle
파일이 생성되어 편집할 수 있습니다. 이 템플릿에는 Unity 빌드 프로세스에서 채워지는 여러 변수(예: **TARGETSDKVERSION**
)가 포함되어 있습니다. 이 변수들은 보통 그대로 두는 것이 좋습니다.
또한 동일한 방식으로 Plugins 디렉토리에서 settingsTemplate.gradle
파일을 제공하여 커스텀 settings.gradle
파일을 사용할 수 있습니다(현재 이 작업은 자동화가 지원되지 않음). 이 파일은 라이브러리 프로젝트를 포함하는 데 사용되므로, 해당 프로세스를 오버라이드하지 않으려면 파일에 최소한 다음 라인이 있어야 합니다.
**INCLUDES**
이 행은 모든 라이브러리를 대상으로 하는 include 지시문으로 대체됩니다.
mainTemplate.gradle
파일에서 다음 변수를 사용할 수 있습니다.
변수: | 설명: |
---|---|
DEPS | 프로젝트 종속성, 즉 사용되는 라이브러리의 목록입니다. |
API VERSION | 빌드 대상 API 버전(예: 25)입니다. |
BUILDTOOLS | 사용되는 SDK 빌드 도구(예: 25.0.1)입니다. |
TARGETSDKVERSION | 타겟 API 버전(예: 25)입니다. |
APPLICATIONID | Android 애플리케이션 ID(예: com.mycompany.mygame)입니다. |
MINIFY_DEBUG | 디버그 빌드 축소를 활성화합니다(true 또는 false). |
PROGUARD_DEBUG | Proguard를 축소에 사용합니다(true 또는 false). |
MINIFY_RELEASE | 릴리스 빌드 축소를 활성화합니다(true 또는 false). |
PROGUARD_RELEASE | Proguard를 축소에 사용합니다(true 또는 false). |
USER_PROGUARD | 커스텀 사용자 Proguard 파일(즉 progard-user.txt)입니다. |
SIGN | 빌드에 서명해야 하는 경우 signingConfigs 섹션을 완료합니다. |
SIGN_CONFIG | 빌드가 서명된 경우 ‘signingConfig signingConfig.release’로 설정합니다. |
DIR_GRADLEPROJECT | Gradle 프로젝트가 생성된 디렉토리입니다. |
DIR_UNITYPROJECT | Unity 프로젝트 디렉토리입니다. |
MINSDKVERSION | 최소 API 버전입니다(예: 25). |
Player 창의 Minify 설정에서 Proguard Minification을 활성화할 수 있습니다.
Proguard를 사용하면 실제로 필요한 코드를 제거할 위험이 있으므로 프로세스를 신중하게 구성해야 합니다. 동일한 설정에 있는 User Proguard File 설정을 먼저 사용하여 커스텀 proguard.txt
파일을 생성할 수도 있습니다.
Proguard에 대한 자세한 내용은 ProGuard 매뉴얼을 참조하십시오.
Gradle을 사용하여 Android용으로 빌드할 때 오류가 발생하면 Unity 에디터는 오류 다이얼로그를 표시합니다. 시스템 브라우저에서 Troubleshoot 를 클릭하면 Gradle 문제 해결 Unity 문서를 참조할 수 있습니다.
2017–10–02
커스텀 build.gradle template 섹션 확대 개편.
Unity 5.5의 새로운 기능