[Tips] build.gradle 구조 개선하기 (local.properties 사용)

플러터 프로젝트를 만들면 항상 하는 작업중의 하나가 build.gradle 파일을 수정하는 것입니다.

제가 사용하는것은 key.properties와 local.properties를 사용하도록 수정하는 것인데요.
오늘은 local.properties를 사용하는 방법을 간단히 알아보려고 합니다.

https://kjmhercules.tistory.com/58 (대상 API 수준을 업데이트 하는 방법) 링크와 함께 보면 좋을것 같아요.

우선 app수준의 build.gradle 파일을 다음과 같이 수정합니다.
아마 프로젝트를 처음 만들면 flutterVersionCode과 flutterVersionName 두개 항목만 있을거에요.

. . .
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

def flutterCompileSdkVersion = localProperties.getProperty('flutter.flutterCompileSdkVersion')
if (flutterCompileSdkVersion == null) {
    flutterCompileSdkVersion = '34'
}

def flutterMinSdkVersion = localProperties.getProperty('flutter.flutterMinSdkVersion')
if (flutterMinSdkVersion == null) {
    flutterMinSdkVersion = '21'
}

def flutterTargetSdkVersion = localProperties.getProperty('flutter.flutterTargetSdkVersion')
if (flutterTargetSdkVersion == null) {
    flutterTargetSdkVersion = '34'
}

. . .


android {
    namespace "com.metacode.properties"
    compileSdk flutterCompileSdkVersion.toInteger()
    ndkVersion flutter.ndkVersion

    . . .

    defaultConfig {
        applicationId "com.metacode.properties"
        minSdkVersion flutterMinSdkVersion.toInteger()
        targetSdkVersion flutterTargetSdkVersion.toInteger()
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
    }
}


그리고 project/android 폴더에 local.properties 파일을 생성해서 아래와 같이 작성해줍니다.

sdk.dir=/Users/metacode/Library/Android/sdk
flutter.sdk=/Users/metacode/fvm/versions/3.19.3
flutter.buildMode=release
flutter.versionName=0.1.1
flutter.versionCode=7
flutter.flutterCompileSdkVersion=34
flutter.flutterMinSdkVersion=21
flutter.flutterTargetSdkVersion=34


앞으로는 copy & paste 해서 사용하세요 :)

 

728x90