어플리케이션
apply plugin: 'com.android.application'
android.applicationVariants.all { variant ->
if( variant.name == 'release' ) {
parent.classpath += variant.javaCompile.classpaths
}
}
라이브러리
apply plugin: 'com.android.library'
android.libraryVariants.all { variant ->
if( variant.name == 'release' ) {
parent.classpath += variant.javaCompile.classpaths
}
}
소스 폴더
// 소스 폴더 구성
// 빌드타입이나 falvor 에 따라 각각의 소스 위치를 지정할 수 있음
android {
sourceSets {
main {
java.srcDirs = ['src/main/java']
res.srcDirs = ['src/main/res']
manifest.srcFile 'src/main/AndroidManifest.xml'
}
release {
}
debug {
}
}
}
빌드 상수
빌드타입, flavor, defaultConfig 등에 선언하면, BuildConfig 클래스에 해당 상수가 추가된다.
각 값은 문자열 " " 로 적어주고, 타입은 java 타입을 사용. "String", "int" ...
// gradle
android {
defaultConfig {
buildConfigField "타입", "이름", "값"
}
}
// java
public final class BuildConfig {
public static final 타입 이름 = 값;
}
빌드타입
// 빌드타입
// 동일앱의 여러 버전을 생성할 때 사용함
android {
release {
applicationIdSuffix '.release'
debuggable false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix '.debug'
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Flavor
// product flavors 로 분리하게 되면 각각 별도의 앱으로 구분됨
android {
productFlavors {
free {
applicationId 'com.test.a'
versionCode 1
versionName '1.0.0'
buildConfigField "int", "Name", "1"
}
paid {
}
}
}
'프로그래밍 > Android' 카테고리의 다른 글
[Android] EGL : 3 - 쉐이더 (0) | 2020.03.02 |
---|---|
[Android] EGL : 2 - 텍스처 (0) | 2020.03.02 |
[Android] EGL : 1 - 기본 구성 (0) | 2020.03.02 |
안드로이드 ndk 테스트 코드 (0) | 2020.02.20 |
[Android] gson , 복합적인 요소의 파싱 (0) | 2019.09.23 |
[Android] ConstraintSet (0) | 2019.08.22 |
Gradle Kotlin, AndroidX 설정 (0) | 2019.08.17 |
[Android] androidX Camera (0) | 2019.07.15 |
[Android] Retrofit (0) | 2019.04.11 |
[Android] Data Binding Library (0) | 2019.03.31 |