참조 : Configuring Gradle Builds

안드로이드 프로젝트를 생성하면, 프로젝트 및 모듈 내에 build.gradle 파일이 생성된다. 우리는 이 파일을 입맛대로 변경함으로써 빌드 환경을 마음대로 주무를 수 있다. 프로젝트 파일을 새로 만들게 되면 아래와 같은 build.gradle 파일이 하나 생기게 된다.

하나씩 옵션에 대해서 살펴보도록 하자.

1. apply plugin: ‘com.android.application’

apply plugin: ‘com.android.application’은 안드로이드 플러그인 사용을 gradle에 적용하는 것이다.  이 옵션은 top-level에서 선언되어야 한다.

2. android {…}

안드로이드와 관련된 빌드 설정은 이곳 안에서 세팅 된다.

3. compileSdkVersion, buildToolsVersion

compileSdkVersion은 앱 컴파일시 사용할 SDK 버전을 지정한다. buildToolsVersion 역시 사용할 빌드툴의 버전을 명시하는 부분이다.

4. defaultConfig{…}

AndroidManifest.xml에서 사용하는 설정들에 대해서 동적인 옵션을 주고 싶을 때 이 블록내에 포함시킨다. 예를들면 versionCode나 versionName등의 값을 이곳에서 설정 할 수 있다.

5. buildTypes{…}

dev, alpha, beta, release 같이 빌드 타입 종류를 지정한다. 당연히도 이러한 빌드 타입에 따라서 minify나 proguard 설정, 사이닝 키 설정도 이곳에서 해야 한다.

 6. signingConfigs{…}

앱 서명을 위한 사이닝 키 설정을 이곳에서 한다. 키스토어 파일 경로를 지정하고 keyAlias, keyPassword, storePassword를 설정해주면 되긴 하는데 build.gradle 파일에다가 패스워드 정보를 집어넣는건 보안에 좋지 않으므로 다음과 같이 환경변수로 가져오도록 한다.

 7. productFlavors{…}

앱 자체의 특성을 다르게 하여 빌드할 때 사용한다. 예를들면 release 빌드이긴 한데 pro버전/free버전을 따로 내고 싶은 경우 productFlavor를 추가하여 쉽게 빌드 할 수 있다.

 8. dependencies{…}

라이브러리와 같은 의존성 추가 시 이곳에 작성한다. MVN 중앙저장소에 있는 라이브러리를 그대로 사용할 수 있다.