- build.gradle (Project : XXXXXX) : 프로젝트 수준의 gradle 설정파일 (프로젝트 전체에 공통으로 적용할 설정)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript { //외부 저장소 (repositories)와 의존성(dependecies)를 설정
repositories {//외부 저장소는 jcenter()와 google()을 기본값으로 사용. 원래는 jcentor()가 기본이였으나 최근 구글에서 자체적으로 저장소를 관
google()
jcenter()
}
dependencies {//gradle의 플러그닝 버전을 작성하며 gradle 플러그인 버전은 프로젝트를 생성할 때 자동으로 기입되며 만약 버전이 업데이트 되면 안드로이드 스튜디오에서 알려주어 사용자에게 업데이트를 유도
classpath 'com.android.tools.build:gradle:3.5.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {//일반적으로 buildscript에서 지정한 외부 저장소를 지정
repositories {
google()
jcenter()
}
}
task clean(type: Delete) { //전체 프로젝트에서 공통으로 사용할 작업을 정의. 기본으로 추가되어 있는 clean 작업은 빌드를 할때 생성되는 build디렉토리들을 삭
delete rootProject.buildDir
}
- build.gradle (Module : App) : 모듈(앱) 수준의 gradle 설정파일(각 모듈(module)에 필요한 빌드 설정)
//com.android.application 플러그인을 사용
apply plugin: 'com.android.application'
android {//versionCode나 versionName을 AndroidManifest.xml에 작성하였으나 현재는 build.gradle에 작
compileSdkVersion 29 //컴파일 SDK버전
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "example.com" //컴파일 패키지 버전
minSdkVersion 23 //최소 API레벨
targetSdkVersion 29 //권장 API레벨
versionCode 1 //버전코드정수
versionName "1.0" //사용자가 보는 버전명
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {//안드로이드는 기본적으로 debug빌드와 release빌드를 할 수 있음. debug빌드는 코딩 후 <Run> 버튼으로 기기나 에뮬레이터로 바로 실행했을때 이루어짐
release {
minifyEnabled false //코드 난독화여부
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' //proguard-android-optimize.txt파일에 기술되어 있고, 추가적 규칙은 proguard-rules.pro에 기
}
}
}
//추가라브러리 정의(외부 라이브러리를 지정)
//Gradle 3.0 미만 버전에서는 implement 대신 compile을 사
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) //libs 디렉터리를 외부 라이브러리 폴더로 지정. 빌드할때 항상 포함되는 라이브러리.
implementation 'androidx.appcompat:appcompat:1.0.2' //AppCompat 라이브러리. 최신버전의 안드로이드 스튜디오는 AppCompat 라이브러리가 기본으로 포함
implementation 'androidx.constraintlayout:con용straintlayout:1.1.3' //constraint layout 라이브러리
testImplementation 'junit:junit:4.12' //자바 유닛 테스트 라이브러리
//안드로이드 UI테스트 라이브러리
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
- gradle-wrapper.properties (Gradle Version) : gradle 관련 설정이며 특별히 손대지 않아도 됨
- proguard-rules.pro (ProGuard Rules for app) : 코드 난독화 도구인 프로가드 설정파일
- gradle.properties (Global Properties) : gradle의 글로벌 환경설정 파일. 이 파일에는 모든 프로젝트마다 같은 설정 내용을 작성. OS별로 다음 위치에 gradle.properteis 파일을 작성
· 맥 OS X, 리눅스 : ~/.gradle/
· 윈도우 : C:\User\[사용자계정]\.gradle\
- settings.gradle (Project Settings) : 프로젝트 생성 시 자동으로 생성되며 어떤 모듈이 프로젝트에 포함되는지 기술
- local.properties (SDK Location) : 프로젝트 생성 시 자동으로 생성되며 안드로이드 SDK의 경로가 지정 되어 있음
'Android' 카테고리의 다른 글
인텐트 사용방법 (0) | 2020.06.24 |
---|---|
안드로이드 4대 구성요소 (0) | 2020.05.24 |
Activity 간 전달 (0) | 2020.05.24 |
res : 리소스 (0) | 2020.05.24 |
AndroidManifest.xml (0) | 2020.05.23 |