gradle이란 groovy를 이용힌 빌드 배포 도구(build tool)이다. gradle느 자바에서 많이 사용되어온 Ant, Maven 빌드 툴의 단점은 버리고 장점만 취한 툴이다. 따라서 두 빌드 툴의 기능을 모두 포함하고있다.
현재는 안드로이드 스튜디오에서 기본 빌드툴로 사용되어지고 있다.
gradle로 여러 스크립트를 만들어 다양한 옵션을 줄 수 있는데, 개발/배포 용 빌드버전을 다르게 하여 배포하는 방법을 알아보자.
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "net.jspiner.test"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
dependencies {
...
}
기본적으로 안드로이드 스튜디오에서 프로젝트를 만들면 위와 같이 build.gradle파일이 자동 생성된다.
buildTypes안에 원하는 빌드타입을 직접 지정해 빌드버전을 만들 수 있다.
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
`./gradlew clean build’ 명령어를 통해 각각의 버전을 동시에 빌드시킬 수 있다.
추가적으로 버전태그에 이름을 붙이거나 속성값을 바꿔줄 수도 있다.
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
versionNameSuffix '_dev',
resValue "string", "app_name", "디버그버전",
'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
resValue "string", "app_name", "디버그버전",
'proguard-rules.pro'
}
}
Comments