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.gradle
A는 "최고 수준의 빌드 파일" 모든 하위 프로젝트 / 모듈로 구성 옵션의 일반적인를 추가 할 수 있습니다.
프로젝트에서 다른 모듈을 사용하는 경우 로컬 라이브러리로 다른 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 활성화, 디버그 서명, 버전 이름 접미사 및 테스트 정보와 같은 빌드 속성
- 종속성
여기에서 공식 문서를 읽을 수 있습니다.
'Programming' 카테고리의 다른 글
Swift 변수는 원자 적입니까? (0) | 2020.08.25 |
---|---|
Chrome 개발자 창에서 요청하는 경우 '보류 중'이란 무엇을 의미하나요? (0) | 2020.08.25 |
자바 스크립트를 사용하여 브라우저에서 TCP 소켓에 연결 (0) | 2020.08.25 |
Oracle 데이터베이스를 사용하는 이유는 무엇입니까? (0) | 2020.08.25 |
스토리 보드에서 사용자 지정 글꼴이있는 특성 문자열이 올바르게로드되지 않음 (0) | 2020.08.25 |