Version: 2018.1
Android 2D 텍스처 오버라이드
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 프로젝트 디렉토리입니다.

축소(Minification)

플레이어 설정 Minify에서 Proguard 축소를 활성화할 수 있습니다. Proguard는 실제로 필요한 코드를 쉽게 제거할 수 있기 때문에 프로세스를 신중하게 구성해야 합니다. 동일한 설정에 있는 User Proguard File 체크박스를 먼저 사용하여 커스텀 proguard.txt를 생성할 수도 있습니다.

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

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

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

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

  • 2017–10–02 일부 편집 리뷰를 거쳐 페이지 게시됨

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

  • Unity 5.5의 새로운 기능

Android 2D 텍스처 오버라이드
Gradle 문제 해결