AndroidStudio 는 프로젝트 빌드 도구로 Gradle 을 사용한다.

Gradle 은 Groovy를 기반으로 한 오픈 소스 형태의 빌드 자동화 도구로 DSL을 스크립트 언어로 사용한다.
실행할 처리 명령들을 모아 만든 태스크 단위로 실행하며,
이전에 사용했던 태스크를 재사용하거나 다른 시스템의 태스크를 공유하는 빌드 캐시 기능을 지원하여 향상된 빌드 속도를 제공한다.

​AndroidStudio 에서 프로젝트를 생성하면 기본적으로 gradle 빌드 구성 파일을 포함한다.

 

Android 앱 모듈의 기본 프로젝트 구조 (출처 : Android 개발자 사이트 )

build.gradle(Module: app) 예시  코드
apply plugin: 'com.android.application' // 프로젝트 패키지명

android {

  compileSdkVersion 28 // API 28 이하 버전 지원

  buildToolsVersion "29.0.2" // SDK 29.0.2 버전으로 빌드

  defaultConfig {

    applicationId 'com.example.myapp' // 앱 고유 식별 ID
    minSdkVersion 15 // 최소 지원 API 버전
    targetSdkVersion 28 // 테스트 시 이용할 API 버전
    versionCode 1 // 앱 버전
    versionName "1.0" // 앱 버전 이름
  }
  buildTypes {
    debug { // 디버그용 빌드
        applicationIdSuffix ".debug" // 디버그용 빌드 시 앱 ID 변형
    }
    release {
        minifyEnabled true // 코드 축소 사용
        shrinkResources true // 리소스 축소 사용
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }

  productFlavors {
    free { // free 버전 빌드 변형
      applicationId 'com.example.myapp.free' // 빌드 변형 시 앱 고유 ID
      applicationIdSuffix ".free" // 위와 동일
    }

    paid { // paid 버전 빌드 변형
      applicationId 'com.example.myapp.paid' // 빌드 변형 시 앱 고유 ID
      applicationIdSuffix ".paid" // 위와 동일
    }
  }
}

dependencies {
    implementation project(":lib") // 로컬 라이브러리 모듈 종속 항목 추가

    implementation 'com.example.android:app-magic:12.3' // 원격 바이너리 종속 항목 추가
    implementation group: 'com.example.android', name: 'app-magic', version: '12.3' // 위와 동일

    implementation fileTree(dir: 'libs', include: ['*.jar']) // 로컬 바이너리 종속 항목 추가
    implementation files('libs/foo.jar', 'libs/bar.jar') // 위와 동일
}

 

+ Recent posts