포스팅 OS : Mac
검색어 : 디버그(Debug), 릴리즈(Release), 빌드(Buiild), 벨류(Value)
안드로이드 스튜디오로 앱을 소스를 관리할 때 디버그 빌드와 릴리즈 빌드의 벨류값을 따로 관리 하고 싶을 때 사용한다.
예를 들어 하나의 텍스트 뷰에 디버그 일때와 릴리즈 일때 각각 다른 텍스트를 보여주고 싶을 때 사용 가능하다.
Ex)
- 디버그 빌드 일때는 텍스트로 '디버그 모드'를 노출
- 릴리즈 빌드 일때는 텍스트로 '릴리즈 모드'를 노출
사용법은 아래와 같다.
1. build.gradle(Module:app)에서 아래와 같이 벨류를 생성 할 수 있다.
android {
...
buildTypes {
debug {
// 레이아웃 벨류 사용법
resValue("string", "testvalue", "디버그 모드")
// 자바 벨류 사용법
buildConfigField "String", "TestValue01", "\"디버그 모드\""
buildConfigField "int", "TestValue02", "1234567890"
buildConfigField "boolean", "TestValue03", "true"
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// 레이아웃 벨류 사용법
resValue("string", "testvalue", "릴리즈 모드")
// 자바 벨류 사용법
buildConfigField "String", "TestValue01", "\"릴리즈 모드\""
buildConfigField "int", "TestValue02", "0987654321"
buildConfigField "boolean", "TestValue03", "false"
}
}
}
- 위와 같이 같은 벨류 명으로 debug와 release에 값을 다르게 생성하면 각 모드에서 해당 값으로 사용 가능하다.
1) resValue
- XML에서 사용할 수 있는 벨류
- 생성한 벨류는 모두 generated.xml에 자동으로 생성된다.
- generated.xml : 아래와 같이 resValue로 생성한 변수가 생성되어 있는 것이 확인 가능하다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Automatically generated file. DO NOT MODIFY -->
<!-- Values from build type: release -->
<string name="testvalue" translatable="false">릴리즈 모드</string>
</resources>
2) buildConfigField
- 자바 소스에서 사용 가능한 벨류.
- 생성한 벨류는 모두 BuildConfig.java에 자동으로 생성된다.
- Buildconfig.java : 아래와 같이 buildConfigFeild로 생성한 변수가 생성되어 있는 것이 확인 가능하다.
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "com.linecorp.advertise.buildmodetest";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.0";
// Fields from build type: debug
public static final String TestValue01 = "디버그 모드";
public static final int TestValue02 = 1234567890;
public static final boolean TestValue03 = true;
}
2. 위에서 생성한 벨류를 사용해보자
1) resValue 사용법
- 아래와 같이 화면 레이아웃 xml에 벨류값을 불러서 사용한다.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/testvalue" />
2) buildConfigField 사용법
- 아래와 같이 자바 소스로 벨류값을 불러서 사용한다.
TextView testValue01 = findViewById(R.id.txt_testValue01);
testValue01.setText(BuildConfig.TestValue01);
'Developer > Android' 카테고리의 다른 글
[Android Library] 빌드 가능한 안드로이드 라이브러리 모듈 생성 후 다른 프로젝트에 참조하기 (8) | 2018.04.11 |
---|---|
[Android Kotlin] 문자열 템플릿(String Template) 사용법 (0) | 2018.03.15 |
[Android Kotlin] 함수와 변수 - 에디트 텍스트(Edit Text) (0) | 2018.03.14 |
[Android Kotlin] 헬로 코틀린 - 텍스트뷰(TextView), 버튼(Button) (0) | 2018.03.14 |
[Android Kotlin] 안드로이드 스튜디오(Andorid Studio)에 코틀린(Kotlin) 개발환경 셋팅 (0) | 2018.02.10 |