Android 2D Textures Overrides
Gradle 문제 해결

Android용 Gradle

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

Unity 에디터에서 Gradle 빌드 시스템을 사용하여 패키지(APK)를 빌드하거나 Gradle 프로젝트를 익스포트한 후 Android Studio와 같은 외부 도구에서 빌드할 수 있습니다.

자세한 내용은 Android 빌드용 Gradle 시작에서 Gradle의 리소스를 참조하십시오.

Android용 Gradle을 이용한 빌드

Unity 에디터에서 Gradle을 사용하여 Android 빌드를 빌드하는 방법은 다음과 같습니다.

  1. Unity 에디터에서 빌드 설정 창(메뉴: File > Build Settings…)을 엽니다.
  2. Platform 목록에서 Android 를 선택합니다.
  3. Build System 드롭다운에서 Gradle (new) 를 선택한 후 Build 를 클릭합니다.
Gradle 빌드 설정
Gradle 빌드 설정

Gradle 프로젝트 익스포트

Gradle 프로젝트를 익스포트하려면 위의 지침을 따르고, 빌드 창에서 Export Project 옵션을 선택해야 Build 를 클릭할 수 있습니다. Build 를 클릭하면 Unity 에디터가 APK를 작성하지 않고 지정된 디렉토리에서 Gradle 프로젝트를 생성합니다. 프로젝트를 Android Studio로 임포트하면 추가 수정을 하거나 빌드 프로세스를 완전히 제어할 수 있습니다.

패키지(APK) 빌드에 대한 자세한 내용은 Android Studio 빌드 구성 관련 문서를 참조하십시오.

커스텀 build.gradle 템플릿 제공

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).

축소(Minification)

Player 창의 Minify 설정에서 Proguard Minification을 활성화할 수 있습니다. Proguard를 사용하면 실제로 필요한 코드를 제거할 위험이 있으므로 프로세스를 신중하게 구성해야 합니다. 동일한 설정에 있는 User Proguard File 설정을 먼저 사용하여 커스텀 proguard.txt 파일을 생성할 수도 있습니다.

Proguard에 대한 자세한 내용은 ProGuard 매뉴얼을 참조하십시오.

Gradle로 빌드할 때 발생하는 오류

Gradle을 사용하여 Android용으로 빌드할 때 오류가 발생하면 Unity 에디터는 오류 다이얼로그를 표시합니다. 시스템 브라우저에서 Troubleshoot 를 클릭하면 Gradle 문제 해결 Unity 문서를 참조할 수 있습니다.

Unity Gradle 빌드 오류 다이얼로그
Unity Gradle 빌드 오류 다이얼로그

  • 2017–10–02 Page published with limited editorial review

  • 커스텀 build.gradle template 섹션 확대 개편.

  • Unity 5.5의 새로운 기능

Android 2D Textures Overrides
Gradle 문제 해결