본문 바로가기

안드로이드스튜디오

안드로이드 스튜디오 그래들 Gradle

728x90
반응형

* 안드로이드 앱을 실행하거나 앱 스토어에 올릴 때는 소스 파일이나 리소스 파일을 빌드하거나 배포하는 작업이 필요하다.

이 때 사용되는 것이 그래들(Gradle)이다.

즉, 그래들은 안드로이드 스튜디오에서 사용하는 빌드 및 배포 도구이다.

 

* 한 앱의 빌드 설정은 build.gradle 파일에 넣어 관리한다.

이때 그래들 파일은 프로젝트 수준과 모듈 수준으로 나누어 관리하기 때문에 새로운 프로젝트를 만드면 두 개의 build.gradle 파일이 생긴다.

//참조파일
// SamplePermission2>/Gradle Scripts/build.gradle (Module: SamplePermission2.app)

pugins {
	id 'com.android.apllication'
}

andoird {
	compileSdkVersion 30
    buildToolsVersion "30.0.3"
    
    default Config {
    	applicationId "org.techtown.permission2
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildType {
    	release {
        	minifyEnabled false
            	proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
    	sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    	}
    }
    
    dependencies {
    	implementation 'androidx.appcompat:appcompat:1.2.0'
        implementation 'com.google.android.material:material:1.3.0'
        implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
        testImplementation 'junit:junit:4.+'
        androidTestImplementation 'androidx.test.ext:junit:1.1.2'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
        implementation 'com.yanzhenjie:permission:2.0.3'
    }
}

* 이 파일들은 각각의 모듈에 대한 설정을 담고 있다.

프로젝트가 만들어지면 app 모듈은 기본으로 만들어지는데, 이 파일의 app 모듈의 설정 정보를 담고 있는 것이다.

만약 새로운 모듈을 추가한다면 그 모듈에 대한 build.gradle 파일도 새로 추가된다.

이 파일에는 빌드에 필요한 중요한 정보들이 들어 있다.

 

* applicationId는 이 앱의 id 값이다.

앱은 id 값으로 구분되기 때문에 id 값은 전 세계에세 유일한 것으로 설정되어야 한다.

 

* complieSdkVersion은 빌드를 진행할 때 어떤 버전의 SDK를 사용할 것인지를 지정한다.

보통 최신 버전의 SDK 버전을 지정한다.

 

* minSdkVersion은 이 앱이 어떤 하위 버전까지 지원할 것인지를 지정한다.

모든 단말을 지원하면 좋겠지만 보통 앱에서 사용하는 최신 기능을 하위 단말에서 지원하지 못하는 경우에는 앱에서 사용하는 기능을 지원하기 시작한 버전을 minSdkVersion으로 지정하게 된다.

 

* targetSdkVersion은 이 앱이 검증된 버전이 어떤 SDK 버전인지를 지정한다.

만약 새로운 SDK가 출시되었다고 하더라도 해당 SDK에서 검증되지 않은 앱은 이 버전을 이전 버전으로 지정할 수도 있다.

 

* dependencies에는 외부 라이브러리를 추가할 수 있다.

위의 기본 설정을 사용하면 libs 폴더 안에 들어있는 jar 파일을 읽어들이고 support 패키지를 추가한다.

 

* 마지막 줄에 있는 implementation으로 시작하는 한 줄은 사용자가 직접 추가한 외부 라이브러리이다.

 

* settings.gradle 파일에는 프로젝트의 이름과 함께 어떤 모듈을 포함할 것인지에 대한 정보가 들어있다.

 

* local.properties 파일 안에는 현재 사용하고 있는 PC에 설치된 SDK의 위치가 기록되어 있다.

 

* gradle.properties 파티 안에는 메모리 설정이 들어있다.

 

* gradle-wrapper.properties 파일에는 그래들 버전 정보 등이 들어 있다.

반응형