티스토리 뷰

Computer/Android

[Android] Gradle 이란?

jamezc 2017. 12. 9. 01:55

[Android] Gradle 이란?


 Gradle 이란 빌드 배포 도구(build tool) 입니다.

프로젝트를 생성하면 다음과 같은 구조로 파일들이 생성됩니다.  안드로이드 스튜디오로 프로젝트를 만들면 Gradle이란 것도 같이 생성되는 것을 볼 수 있습니다. 

안드로이드 스튜디오(IDE)와 빌드 시스템이 서로 독립적이기 때문입니다. 이클립스에서는 프로젝트 빌드를 이클립스 내에서 담당했지만, 안드로이드 스튜디오는 코드의 편집만을 담당할 뿐, 빌드는 Gradle을 통해 모두 수행됩니다. 때문에, 간혹 안드로이드 스튜디오의 프로젝트 설정과 Gradle 빌드 설정이 동기화되지 않아 스튜디오에서 에러로 표시하는 경우도 있습니다. 하지만, 빌드 절차와 IDE가 분리되어 있기 떄문에 프로젝트를 더 깔끔하게 관리할 수 있게 되었습니다.


* 이전에는 라이브러리를 추가하려면 jar파일을 받아서 설정해줘야 했지만 라이브러리들이 많아짐에 따라 자동화 도구가 필요해지게 되었고 ant, maven, gradle 등의 라이브러리 관리 도구가 등장했습니다. 안드로이드 스튜디오에서는 Gradle을 채택하여 쓰고있습니다.


Gradle 공식 홈페이지 (https://gradle.org/)

https://gradle.org/install/


build.gradle

 모듈의 빌드 방법이 정의된 빌드스크립트입니다. 빌드에 사용할 SDK 버전부터 시작하여 애플리케이션 버전, 사용하는 라이브러리 등 다양한 항목을 설정하는 것이 가능합니다.


파일 내부의 옵션들에 대해서 하나씩 살펴보겠습니다.

    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 같이 빌드 타입 종류를 지정합니다.


6. dependencies{…}

 라이브러리와 같은 의존성 추가 시 이곳에 작성합니다.


Gradle 및 Android Studio Build 구조에 대한 내용은 아래 구글 Dev안드로이드 링크 참조

https://developer.android.com/studio/build/index.html


댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글