[Android/안드로이드] Gradle Scripts에 대한 정리

JINA·2021년 9월 7일
1

Android/basic

목록 보기
2/6

📌Gradle Scripts란?

안드로이드 프로젝트를 생성하면 Gradle Scripts 안에 build.gradle, settings.gradle 등의
파일이 자동으로 만들어지고, 이 파일들을 통해 안드로이드 프로젝트의 빌드 정보, 라이브러리 등을 관리한다.

Gradle Scripts는 총 7개의 파일로 구성되어 있는데
build.gradle (Project:)build.gradle (Module: .app) 2가지를 중점적으로 알아보자!


1. build.gradle (Project: 프로젝트)

  • 프로젝트 수준의 그레이들 설정 파일 :프로젝트의 모든 모듈에 적용되는 빌드 구성을 정의한다.

    (1) buildscript : 최상위 빌드 파일은 buildscript블록을 사용하여 프로젝트의 모든 모듈에 공통되는 Gradle 저장소와 종속 항목을 정의함.

    • respositories : 외부 저장소 설정. google()이 기본으로 설정된다.
    • dependencies(의존성:라이브러리): gradle 플러그인 버전 설정
    • ext: 여러 모듈이 포함된 프로젝트일 경우 프로젝트 수준에서 특정 속성을 정의한 후 모든 모듈에서 공유하는 것이 더 유용하다.

    (2) allprojects

    • 새 프로젝트의 경우 Android Studio는 기본적으로 JCenter 및 Google의 Maven 저장소를 포함한다.
    • respositories : 위의 buildscript > respositories와 동일한 외부저장소가 설정된다.

    (3) task

    • 프로젝트 전체적으로 공통으로 사용할 작업을 정의한다.
    • clean(type: Delete): 기본으로 추가된 공통작업으로, 빌드시 생성되는 build디렉터리들을 삭제한다.

2. build.gradle (Module: 프로젝트.app)

  • 모듈 수준의 그레이들 설정 파일로, 각 모듈마다 생성된다.

  • 모듈의 종류는 app모듈, 웨어러블 모듈, 안드로이드TV 모듈 등이 있다.

  • 보통 phone&tablet 프로젝트를 생성하기 때문에, 기본으로 app 모듈 수준의 빌드설정/라이브러리 정보가 저장된다.

    (1) plugins

    • 안드로이드 개발을 위한 플러그인 설정 영역으로, 'com.android.application'이 기본으로 지정된다.

    (2) android

    • compileSdkVersion은 grdle이 앱을 컴파일하는데 사용해야하는 안드로이드 API레벨을 지정한다.
      즉, 앱이 API 레벨과 같거나 낮은 API 기능을 사용 가능하다는 것을 의미한다.
    • buildToolsVersion은 SDK 빌드 도구, 명령줄, 유틸리티 및 컴파일러의 버전을 지정한다.

    (3) dependencies

    • 외부 라이브러리를 설정한다.
    • build.gradle 파일의 dependencies 블록에 implementation과 같은 종속 항목 구성을 지정
      • 예시) implementation files('libs/foo.jar', 'libs/bar.jar')
      • 예시) implementation 'com.example.android:app-magic:12.3'
      • 예시) implementation group: 'com.example.android', name: 'app-magic', version: '12.3'

    👩‍💻참고사이트

0개의 댓글