투케이2K

748. (Android/Gradle) [build.gradle] def 변수 사용해 개발 환경에 따라 versionCode , versionName 분기 처리 지정 본문

Android

748. (Android/Gradle) [build.gradle] def 변수 사용해 개발 환경에 따라 versionCode , versionName 분기 처리 지정

투케이2K 2024. 3. 21. 20:34
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

// -----------------------------------------------------------------------------------------

// TODO [플러그인 적용 실시]
plugins {
    // [안드로이드 플러그인]
    id 'com.android.application'

    // [코틀린 플러그인]
    id 'kotlin-android'

    // [파이어베이스 및 구글 서비스]
    //id 'com.google.gms.google-services'
}

// -----------------------------------------------------------------------------------------

// TODO [def 전역 변수 선언]

def env = 2; // [1 = 운영 / 2 = 개발]

// -----------------------------------------------------------------------------------------

// TODO [애플리케이션 빌드 설정 지정 실시]
android {

    // TODO [컴파일 버전]
    compileSdk 33

    // [Config 셋팅]
    defaultConfig {
        // ----------------------------
        applicationId "com.example.javaproject" // 앱 아이디
        // ----------------------------
        minSdk 21 // 최소 빌드 버전
        // ----------------------------
        targetSdk 33 // TODO 타겟 빌드 버전
        // ----------------------------
        buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" // TODO [빌드 시간 저장 위해 추가]
        // ----------------------------
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        // ----------------------------

        // TODO [env 변수 값 확인 및 버전 코드 지정 분기 처리]
        if (env == 1){ // [운영]
            versionCode 1
            versionName "1.0.1"
        }
        else { // [개발]
            versionCode 2
            versionName "2.0.1"
        }

    }

    // [빌드 설정]
    buildTypes {
        debug {
            minifyEnabled false // [true 프로가드 사용 / false 프로가드 사용안함]
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // [프로가드 설정 파일 지정]
        }
        release {
            minifyEnabled false // [true 프로가드 사용 / false 프로가드 사용안함]
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // [프로가드 설정 파일 지정]
        }
    }

    // [컴파일 자바 버전 지정]
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    // [아파치 http 사용 설정]
    useLibrary ('org.apache.http.legacy')
}

// -----------------------------------------------------------------------------------------
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_App.getMobileCode(C_App.java:444)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-03-21 10:48:53 목요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 모바일 버전 코드 확인]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: 2]
D///===========//: ================================================



D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_App.getMobileVersion(C_App.java:503)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-03-21 10:48:53 목요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 모바일 버전명 확인]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: 2.0.1]
D///===========//: ================================================

 

반응형
Comments