투케이2K
424. (android/java) build.gradle > buildTypes 빌드 타입에서 BuildConfig 설정, 디버그 (DEBUG) , 릴리즈 (RELEASE) 구분 본문
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("---","---");
// -----------------------------------------
[결과 출력]