배고파

[Android] 라이브러리 Version 관리 본문

Developer/Android

[Android] 라이브러리 Version 관리

hungry7013 2021. 7. 27. 09:45

안녕하세요.

외부라이브러리 관리에 대해서 글을 작성하려고 합니다.

 

https://medium.com/@junsanghan/android-versions-gradle%EB%A1%9C-build-gradle-%ED%8E%B8%ED%95%98%EA%B2%8C-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0-7b82e426ae8

 

Android versions.gradle로 Build Gradle 편하게 관리하기

하나의 프로젝트에서 여러 개의 모듈을 사용하는 경우, 그리고 사용해야 할 오픈 라이브러리가 추가될수록… build.gradle 관리하기가 점점 귀찮아지는 경우가 많습니다…(그렇다고 안 쓸수도 없

medium.com

 

위의 블로그를 참고 하였습니다.

 

Android New Project 안에는 두개의 build.gradle 파일이 있습니다.

 - A. build.gradle (Project: 프로젝트명)

 - B. build.gradle (Module: 프로젝트명)

 

라이브러리를 추가 한다고 하면

B. build.gradle (Module: 프로젝트명) 파일의 하단에 

dependencies 에 넣게 됩니다.

 

예)

    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'com.google.android.material:material:1.4.0'

 

하지만 짧게 몇줄이 들어가는게 아니고

여러 라인이 추가 된다면 관리에 어려움이 따르게 됩니다.

 

해결책. !

Project 아래에 versions.gradle 파일을 만들어 줍니다.  (네이밍은 편하게..)

 - A. build.gradle (Project: 프로젝트명) 상단의 buildscript 안에 하단 코드를 넣어줍니다.

    apply from: 'versions.gradle'

buildscript 안에 apply from: 'versions.gradle'
versions.gradle

위와 같은 구성으로 됩니다.

 

자 그럼.. versions.gradle 안에 구성을 보겠습니다.

def deps = [:]

/* Kotlin */
def kotlin = [:]
kotlin.plugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin_version"
kotlin.stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$versions.kotlin_version"
deps.kotlin = kotlin

def lifecycle = [:]
lifecycle.viewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:$versions.lifecycle_version"
lifecycle.runtime   = "androidx.lifecycle:lifecycle-runtime-ktx:$versions.lifecycle_version"
lifecycle.livedata  = "androidx.lifecycle:lifecycle-livedata-ktx:$versions.lifecycle_version"
lifecycle.compiler  = "androidx.lifecycle:lifecycle-compiler:$versions.lifecycle_version"
deps.lifecycle = lifecycle



ext.deps = deps

 

사용법은...

B. build.gradle (Module: 프로젝트명) 파일의 하단에

dependencies 에 넣게 됩니다.

    implementation deps.lifecycle.viewmodel
    implementation deps.lifecycle.runtime
    implementation deps.lifecycle.livedata

 

감사합니다.

 

'Developer > Android' 카테고리의 다른 글

Android New Project Build Error  (0) 2022.02.09
[Android Studio] 단축키 관련 - Mac  (0) 2021.08.04
[warning] Android jcenter  (0) 2021.05.26
[Basic] Android RecyclerView Sample  (0) 2021.05.25
[Basic] Android Custom Button  (0) 2021.05.21