Programming

Android 스튜디오 프로젝트에 두 개의 build.gradle 파일이있는 이유는 무엇입니까?

procodes 2020. 8. 25. 20:29
반응형

Android 스튜디오 프로젝트에 두 개의 build.gradle 파일이있는 이유는 무엇입니까?


Eclipse 프로젝트를 Android Studio로 가져온 후 두 build.gradle파일이 표시됩니다.

1 - <PROJECT_ROOT>\build.gradle
2 - <PROJECT_ROOT>\app\build.gradle

첫 번째 버전은 더 짧고 두 번째 버전에는에 대한 정의가 포함되어 있습니다 compileSdkVersion.

두 개의 개별 파일을 갖는 목적은 무엇입니까? 별도의 빌드 작업이 있습니까?


<PROJECT_ROOT>\app\build.gradle앱 모듈 에만 해당됩니다 .

<PROJECT_ROOT>\build.gradleA는 "최고 수준의 빌드 파일" 모든 하위 프로젝트 / 모듈로 구성 옵션의 일반적인를 추가 할 수 있습니다.

프로젝트에서 다른 모듈을 사용하는 경우 로컬 라이브러리로 다른 build.gradle파일 이 생깁니다 .<PROJECT_ROOT>\module\build.gradle

예를 들어 최상위 파일에서 다음과 같은 공통 속성을 지정할 수 있습니다.

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

ext {
    compileSdkVersion = 23
    buildToolsVersion = "23.0.1"
}

당신의 app\build.gradle

apply plugin: 'com.android.application'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
}

공식 문서에서 :

Android 스튜디오 프로젝트에는 프로젝트의 모든 애플리케이션 모듈에 공통적 인 구성 옵션을 추가 할 수있는 최상위 프로젝트 Gradle 빌드 파일이 포함되어 있습니다. 각 애플리케이션 모듈에는 해당 build.gradle모듈에 특정한 빌드 설정에 대한 자체 파일 도 있습니다 .

여기에 이미지 설명 입력

프로젝트 빌드 파일

<PROJECT_ROOT>\build.gradle또는 프로젝트 빌드 파일전체 프로젝트 용 이므로 글로벌 프로젝트 구성에 사용됩니다. 일반적인 프로젝트 빌드 파일 에는 다음이 포함됩니다.

  • 다음을 정의하는 buildscript :
    • 저장소 및
    • 종속성
  • Gradle 플러그인 버전

기본적으로 프로젝트 수준 Gradle 파일은 buildscript 를 사용하여 Gradle 저장소종속성 을 정의합니다 . 이를 통해 서로 다른 프로젝트에서 서로 다른 Gradle 버전을 사용할 수 있습니다. 지원되는 저장소에는 JCenter, Maven Central 또는 Ivy가 포함됩니다. 이 예제는 빌드 스크립트가 JCenter 저장소와 Gradle 버전 1.0.1 용 Android 플러그인이 포함 된 클래스 경로 종속성 아티팩트를 사용함을 선언합니다.


모듈 빌드 파일

<PROJECT_ROOT>\app\build.gradle또는 모듈 빌드 파일특정 모듈 용 이므로 특정 모듈 수준 구성에 사용됩니다. 모듈 빌드 파일은 다음을 포함합니다

  • 안드로이드 설정
    • compileSdkVersion
    • buildToolsVersion
  • defaultConfig 및 productFlavors
    • applicationId, minSdkVersion, targetSdkVersion 및 테스트 정보와 같은 매니페스트 속성
  • buildTypes
    • 디버깅 가능, ProGuard 활성화, 디버그 서명, 버전 이름 접미사 및 테스트 정보와 같은 빌드 속성
  • 종속성

여기에서 공식 문서를 읽을 수 있습니다.

프로젝트 및 모듈 빌드 설정

참고 URL : https://stackoverflow.com/questions/23241681/why-are-there-two-build-gradle-files-in-an-android-studio-project

반응형