투케이2K

424. (android/java) build.gradle > buildTypes 빌드 타입에서 BuildConfig 설정, 디버그 (DEBUG) , 릴리즈 (RELEASE) 구분 본문

Android

424. (android/java) build.gradle > buildTypes 빌드 타입에서 BuildConfig 설정, 디버그 (DEBUG) , 릴리즈 (RELEASE) 구분

투케이2K 2022. 12. 6. 12:31

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[요약 설명]

/**

* -------------------------------------

* TODO [요약 설명]

* -------------------------------------

* 1. build.gradle 파일에서 buildTypes >> buildConfigField 로 설정한 값을 가져옵니다

* -------------------------------------

* 2. [중요] import 시 : 반드시 본인 프로젝트 패키지명 을 사용해서 BuildConfig 를 호출해야합니다 (외부 라이브러리 사용하면 안됨)

*

* - 예시 : import [본인 패키지명].BuildConfig;

*

* import com.app.twok.BuildConfig;

* -------------------------------------

* 3. build.gradle 파일 >> buildConfigField 값 수정 시 :

*

* - clean 프로젝트 , rebuild 프로젝트 , cache 캐시 초기화 프로젝트 수행이 필요합니다

* -------------------------------------

* 4. build types 설명 :

*

* - 빌드 타입 이란 build.gradle 파일에서 안드로이드 앱 빌드를 구분하기 위한 설정 파일 입니다

*

* - 빌드 타입 사용 시 debug (디버그) , release (릴리즈) 모드 구분에 따라서 설정을 다르게 할 수 있습니다

*

* - TODO [중요] : build.gralde 빌드 타입에 설정한 값은 apk , aab 디컴파일 시 모두 노출 되므로 중요한 정보는 저장하지 않는게 좋습니다

* -------------------------------------

* */

 

[build.gradle > BuildConfig : 소스 코드]

// TODO [애플리케이션 빌드 설정 지정 실시]
android {
    // TODO [컴파일 버전]
    compileSdk 31

    // [Config 셋팅]
    defaultConfig {
        // ----------------------------
        applicationId "com.app.twok" // 앱 아이디
        // ----------------------------
        minSdk 21 // 최소 빌드 버전
        // ----------------------------
        targetSdk 31 // TODO 타겟 빌드 버전
        // ----------------------------
        versionCode 1 // TODO 앱 버전 코드 [마켓 관리]
        // ----------------------------
        versionName "1.0.0" // TODO 앱 버전 이름 [마켓 관리]
        // ----------------------------
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        // ----------------------------
    }

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

            // TODO [buildConfigField 설정 : 선택 1개]
            //buildConfigField("String", "STRING_BUILD_KEY", "\"DEBUG\"")
            //buildConfigField("int", "INT_BUILD_KEY", "0")

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

            // TODO [buildConfigField 설정 : 선택 1개]
            //buildConfigField("String", "STRING_BUILD_KEY", "\"RELEASE\"")
            //buildConfigField("int", "INT_BUILD_KEY", "1")

            buildConfigField("boolean", "BOOL_BUILD_KEY", "true")
        }
    }

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

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

[JAVA : 소스 코드]

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


        /**
         * -------------------------------------
         * TODO [요약 설명]
         * -------------------------------------
         * 1. build.gradle 파일에서 buildTypes >> buildConfigField 로 설정한 값을 가져옵니다
         * -------------------------------------
         * 2. [중요] import 시 : 반드시 본인 프로젝트 패키지명 을 사용해서 BuildConfig 를 호출해야합니다 (외부 라이브러리 사용하면 안됨)
         *
         *   - 예시 : import [본인 패키지명].BuildConfig;
         *
         *           import com.app.twok.BuildConfig;
         * -------------------------------------
         * 3. build.gradle 파일 >> buildConfigField 값 수정 시 :
         *
         *   - clean 프로젝트 , rebuild 프로젝트 , cache 캐시 초기화 프로젝트 수행이 필요합니다
         * -------------------------------------
         * 4. build types 설명 :
         *
         *   - 빌드 타입 이란 build.gradle 파일에서 안드로이드 앱 빌드를 구분하기 위한 설정 파일 입니다
         *
         *   - 빌드 타입 사용 시 debug (디버그) , release (릴리즈) 모드 구분에 따라서 설정을 다르게 할 수 있습니다
         *
         *   - TODO [중요] : build.gralde 빌드 타입에 설정한 값은 apk , aab 디컴파일 시 모두 노출 되므로 중요한 정보는 저장하지 않는게 좋습니다
         * -------------------------------------
         * */


        // TODO [BuildConfig 설정 값 확인 실시]
        //String string_Build_Check = BuildConfig.STRING_BUILD_KEY; // [String 호출]
        //int int_Build_Check = BuildConfig.INT_BUILD_KEY; // [int 호출]

        boolean bool_Build_Check = BuildConfig.BOOL_BUILD_KEY; // [boolean 호출]

        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: buildCheck]");
        Log.i("","\n"+"[type :: "+String.valueOf(bool_Build_Check)+"]");
        Log.d("//===========//","================================================");
        Log.i("---","---");


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

[결과 출력]


 
반응형
Comments