ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Android Gradle - Gradle Scripts(1)
    Android 2021. 4. 24. 13:31

    프로젝트 build.gradle

    buildscript {
        apply from: file('dependencies.gradle')
    
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath "com.android.tools.build:gradle:$androidPluginVersion"
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
            classpath 'com.google.gms:google-services:4.1.0'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }

    프로젝트 build.gradle은 빌드 스크립트를 구동하는 부분과 다수의 모듈이 존재할 때 전체 모듈에 공통적으로 적용하는 부분을 기술한다.

    • Buildscript 블록 : 빌드 스크립트를 구동하는 부분, 외부(원격) 저장소와 의존성 부분 지정한다.
    • dependencies 블록 : 의존성 부분에는 Gradle 플러그인 버전, Kotlin 플러그인 버전 등을 기술한다.
    • repositories 블록 :

       외부(원격) 저장소

       - 종속 항목이 로컬 라이브러리나 파일 트리가 아닌 경우 

         Gradlebuild.gradle 파일의 repositories 블록에서 지정된 온라인 저장소에서 파일을 찾음

       - 각 저장소를 나열하는 순서에 따라 Gradle이 각 프로젝트 종속 항목의 저장소를 검색하는 순서가 결정된다.

       - 기본으로 Google Maven 저장소와 JCenter가 프로젝트의 최상위 수준 build.gradle 파일의 저장소 위치로

         지정되지만 2021년 2월 JCenter 저장소가 지원을 중단, 2022년 2월 1일에 서비스 중지 발표

       - Maven 중앙 저장소에서 파일을 가져오려면 mavenCentral()을 추가,

         Maven 로컬 저장소에서 가져오려면 mavenLocal()을 사용

     

     로컬 저장소

       - 기본 위치 USER_HOME/.m2/repository사용

       - 공동 라이브러리 사용시에는 저장소 위치 명시

    allprojects {
        repositories {
            google()
            jcenter()
            mavenCentral()
            mavenLocal()
            maven{
                url ‘다른 저장소의 주소'
            }
        }
    }

    기본 clean 태스크가 추가되며 clean 태스크는 app과 같은 하위 모듈의 build 폴더도 모두 제거한다.

     

     

    Reference

    • 유동환, 안드로이드를 위한 Gradle, 한빛미디어

    'Android' 카테고리의 다른 글

    SurfaceView  (0) 2021.05.13
    ADB Shell 명령어 정리  (0) 2021.04.25
    Android Gradle - Build Type, Flavor  (0) 2021.04.24
    Android Gradle - Gradle Scripts(2)  (0) 2021.04.24
    Android Gradle - Gradle이란  (0) 2021.04.23
Designed by Tistory.