-
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 블록 :
외부(원격) 저장소
- 종속 항목이 로컬 라이브러리나 파일 트리가 아닌 경우
Gradle은 build.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