본문 바로가기

android/Gradle

안드로이드 스튜디오 Gradle 파일들 공부

.gradle/

  1. Gradle 프로젝트 캐시 디렉토리
    1. Gradle이 관리하며, 다운로드된 Gradle 배포판, 프로젝트 캐시 및 구성 파일을 포함합니다.
      1. 이 폴더는 Gradle의 빌드 프로세스에 의해 생성되며, 빌드 중에 생성되는 임시 파일, 캐시, 로그 등을 저장합니다.
      2. 이 폴더는 프로젝트별로 생성되며, 일반적으로 버전 관리 시스템에 포함되지 않습니다. 
      3. .gradle 폴더는 빌드 성능을 향상시키기 위해 재사용 가능한 데이터를 저장하는 데 사용됩니다.
    2. 주의 : 이 디렉토리의 파일을 직접 수정하지 마세요.

.idea/

  1. Android Studio 프로젝트 메타 데이터
    1. 프로젝트 설정, 코드 스타일, 실행 구성 등 Android Studio 관련 메타 데이터를 포함합니다.
    2. 주의 : 이 디렉토리의 파일을 직접 수정하지 마세요.

 

build.gradle(.kts)

  1. 루트 빌드 파일
    1. 프로젝트 수준의 빌드 스크립트로, 모든 서브 프로젝트에 적용되는 플러그인 및 의존성을 선언합니다.
    2. 구체적인 빌드 설정은 각 모듈의 build.gradle 파일에서 관리합니다.

 

gradle.properties

  1. Gradle 실행 구성 파일
    1. Gradle의 빌드 환경을 제어하는 속성을 정의하며, 힙크기, 캐싱, 병렬 실행등의 설정을 포함합니다.
    2. 일부 Anroid 관련 임시 속성도 여기에 정의될 수 있습니다.

gradlew/gradlew.bat

  1. Gradle 래퍼 스크립트
    1. gradlew는 Unix 기반 시스템(Linux, macOS)용
    2. gradlew.bat은 Winodw 용입니다.
    3. Gradle이 설치되어있지 않은 시스템에서도 프로젝트를 빌드할 수 있도록 필요한 Gradle 버전을 자동으로 다운로드하고 빌드를 실행합니다.

 

local.properties

  1. 로컬 머신 구성 파일
    1. Android SDK의 위치등 로컬 개발 환경에 특화된 설정을 포함합니다.
    2. 주의 : 이 파일은 버전관리(Git)에서 제외해야합니다.

 

settings.gradle(.kts)

  1. Gradle 빌드 초기화 파일
    1. 프로젝트 이름, 포함할 서브프로젝트, 플러그인 및 의존성 저장소등의 전역 빌드 정보를 정의합니다.

gradle/libs.versions.toml

  1. 버전 카탈로그
    1. 프로젝트에서 사용하는 의존성 및 플러그인의 버전을 정의하여 모든 서브프로젝트에서 일관된 버전 관리를 보장합니다.

 

gradle/wrapper/

  1. Gradle 래퍼 구성 디랙토리
    1. gradle-wrapper.jar : 지정된 Gradle 버전을 다운로드하고 실행하는 실행파일입니다.
    2. gradle-wrapper.properties : 다운로드할 Gradle 버전 및 위치를 지정하는 구성파일입니다.

 

app/

  1. 서브프로젝트 디렉토리
    1. 모듈이라고도 하며, 애플리케이션이나 라이브러리를 빌드하는 데 사용됩니다.
    2. 각 모듈은 자체적인 build.gradle 파일과 소스코드를 포함합니다.

app/build.gradle(.kts)

  1. 모듈 수준 빌드 파일
    1. 해당 모듈을 빌드하는 방법을 정의하며, 사용 플러그인, 의존성, 빌드 설정 등을 포함합니다.

 

proguard-rules.pro

  1. R8 구성 파일
    1. 코드 축소, 최적화, 난독화를 위한 규칙을 정의하며, 불필요한 코드 제거 및 보안 강화를 위해 사용됩니다.

출처

https://developer.android.com/build/android-build-structure?_gl=1*spkm81*_up*MQ..*_ga*NTQxMzMzMTIuMTczNjI4NzEyNw..*_ga_6HH9YJMN9M*MTczNjI4NzEyNi4xLjAuMTczNjI4NzEyNi4wLjAuNTc3MTE0OTU.

 

'android > Gradle' 카테고리의 다른 글