0.
앞 포스팅에서 versions.gradle 로 root - build.gradle 의 dependencies 관리를 해보았습니다.
안보신 분들은 여기로!!
2020/10/19 - [Platform/Android] - [gradle] gradle 분리(1) (프로젝트 설정, dependencies 버전 등)
이번 포스팅에서는 [app] - build.gradle 에서 사용하는 dependency 와 sdkVersion(compileSdkVersion, minSdkVersion, targetSdkVersion), buildToolsVersion 에 대한 관리를 하는 방법에 대해 써보겠습니다~~
app 단의 dependencies 설정
1. [root] versions.gradle
- versions 변수로 버전 관리
- versions 변수에 버전을 몰아놓았기 때문에, 나중에 버전관리 하기가 쉽다.
- support, test 라는 변수를 새로 만들어서 deps 변수에 추가
- deps 변수는 ext 변수에 추가되어 있음(모듈 전체에서 사용 가능!)
- 기존+추가 코드
//versions.gradle
ext.deps = [:]
def versions = [:]
versions.android_gradle_version = "3.5.1"
versions.kotlin_version = "1.3.72"
versions.appcompat = "1.2.0"
versions.core_ktx = "1.3.1"
versions.constraint_layout = "2.0.1"
versions.junit = "4.12"
versions.atsl_junit = "1.1.2"
versions.espresso_core = "3.3.0"
ext.versions = versions
def deps = [:]
deps.kotlin_gradle_plugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin_version"
deps.android_gradle_plugin = "com.android.tools.build:gradle:$versions.android_gradle_version"
deps.kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin_version"
def support = [:]
support.core_ktx = "androidx.core:core-ktx:$versions.core_ktx"
support.app_compat = "androidx.appcompat:appcompat:$versions.appcompat"
support.constraint_layout = "androidx.constraintlayout:constraintlayout:$versions.constraint_layout"
deps.support = support
def test = [:]
test.junit = "junit:junit:$versions.junit"
test.atsl_junit = "androidx.test.ext:junit:$versions.atsl_junit"
test.espresso_core = "androidx.test.espresso:espresso-core:$versions.espresso_core"
deps.test = test
ext.deps = deps
2. [app] build.gradle
- AS-IS)
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.3.72"
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
- NOW)
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation deps.kotlin_stdlib
implementation deps.support.core_ktx
implementation deps.support.app_compat
implementation deps.support.constraint_layout
testImplementation deps.test.junit
androidTestImplementation deps.test.atsl_junit
androidTestImplementation deps.test.espresso_core
}
app 단의 버전 설정(1) - SdkVersion, buildToolVersion 등
1. [root] versions.gradle
- build_versions 이라는 변수를 추가해서, sdk 버전, build tool 버전 등을 관리
- ext 변수에 build_versions 를 추가(모듈 전체에서 사용할 수 있게!)
- 추가 내용
//versions.gradle
def build_versions = [:]
build_versions.min_sdk = 21
build_versions.target_sdk = 30
build_versions.compile_sdk = 30
build_versions.build_tools = "30.0.1"
ext.build_versions = build_versions
2. [app] build.gradle
- AS-IS)
android {
compileSdkVersion 30
buildToolsVersion "30.0.1"
defaultConfig {
applicationId "com.gaeng0517.kotlinpractice"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
...(중략)
- NOW)
android {
compileSdkVersion build_versions.compile_sdk
buildToolsVersion build_versions.build_tools
defaultConfig {
applicationId "com.gaeng0517.kotlinpractice"
minSdkVersion build_versions.min_sdk
targetSdkVersion build_versions.target_sdk
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
... (중략)
app 단의 버전 설정(2) - versionCode, versionName 등
>>> 휴... 또 길구나..? 이건... 다음 포스팅에~~ 헥헥
2020/10/19 - [GaengStroy] - [gradle] gradle 분리(3) (app-앱 버전 관리)
반응형
'Platform > Android' 카테고리의 다른 글
[Kotlin] (0) | 2020.10.19 |
---|---|
[gradle] gradle 분리(3) (app-앱 버전 관리) (0) | 2020.10.19 |
[git] .gitignore 설정 (2) | 2020.10.19 |
[gradle] gradle 분리(1) (프로젝트 설정, root-dependencies 관리) (0) | 2020.10.19 |
[Canvas] (0) | 2020.10.05 |