티스토리 뷰
안드로이드 앱 개발 시, 다양한 이유로 여러 가지 빌드 변형(build variants)을 만들어야 할 필요가 있습니다. 예를 들어, 개발 중인 버전과 출시 버전을 구분하거나, 다양한 API 엔드포인트를 사용하는 버전을 만들어야 할 때입니다. 안드로이드 스튜디오와 Gradle을 사용하면 이러한 빌드 변형을 쉽게 관리할 수 있습니다. 여기서는 기본적인 빌드 변형 나누는 방법을 안내합니다.
1. Build Types 설정하기
빌드 타입은 일반적으로 개발(debug)과 출시(release) 두 가지가 기본적으로 설정되어 있습니다. 이를 기반으로 추가적인 설정을 할 수 있습니다.
build.gradle 파일에서 android 섹션을 찾아 buildTypes 블록 안에 새로운 빌드 타입을 정의할 수 있습니다.
android {
...
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-DEBUG"
}
// 새로운 빌드 타입 추가
staging {
initWith(buildTypes.debug)
applicationIdSuffix ".staging"
versionNameSuffix "-STAGING"
}
}
}
2. Product Flavors 설정하기
빌드 타입 외에도, 제품 변형(product flavors)을 통해 더 세분화된 설정을 할 수 있습니다. 예를 들어, 무료 버전과 유료 버전을 구분하거나, 서버의 개발 환경과 실제 환경을 구분할 때 유용합니다.
build.gradle 파일에서 android 섹션을 찾아 productFlavors 블록 안에 제품 변형을 정의할 수 있습니다.
android {
...
productFlavors {
free {
applicationId "com.example.myapp.free"
versionName "1.0-free"
}
paid {
applicationId "com.example.myapp.paid"
versionName "1.0-paid"
}
}
}
3. 빌드 변형 조합하기
빌드 타입과 제품 변형을 조합하면, 다양한 빌드 변형을 생성할 수 있습니다. 예를 들어, debug와 release 빌드 타입에 free와 paid 제품 변형을 조합하면, 총 4가지의 빌드 변형(freeDebug, freeRelease, paidDebug, paidRelease)이 생성됩니다.
4. 빌드 변형 사용하기
빌드 변형을 정의한 후에는, 안드로이드 스튜디오의 Build Variants 창에서 원하는 빌드 변형을 선택하여 빌드하고 실행할 수 있습니다. 또한, 커맨드 라인에서도 Gradle 명령어를 통해 특정 빌드 변형을 빌드할 수 있습니다.
예를 들어, freeDebug 변형을 빌드하려면 다음과 같은 Gradle 명령어를 사용할 수 있습니다.
./gradlew assembleFreeDebug
이렇게 안드로이드 앱 개발 시 다양한 요구 사항에 맞춰 빌드 변형을 설정하고 관리할 수 있습니다.
'Android' 카테고리의 다른 글
[Android] YoYo 애니메이션 라이브러리 동작 취소 (0) | 2024.06.05 |
---|---|
[Android] Room에서 TypeConverter 사용하기 (0) | 2024.05.16 |
[Android] YoYo 애니메이션 라이브러리 (0) | 2024.04.12 |
[Android] TextClock 동적으로 Format 변경 및 언어 변경 (0) | 2024.04.11 |
[Android] 언어 변경 (0) | 2024.04.11 |
- Total
- Today
- Yesterday
- removeAt
- 이부센
- 빌드 변형
- 데이터베이스
- 홈체크
- Database
- 개별 빌드
- e편한세상 부평역 센트럴파크
- java
- TextClock 상속
- TextClock Format
- 나중에 들어온 아이템 삭제
- Insert
- 언어 변환
- 안드로이드
- TextClock 언어 변경
- 사전점검 대행
- 스마트폰
- build variants
- Coil 0.10.0
- 이미지 로딩 라이브러리
- Android
- Gif 로딩
- Locale 변경
- kotlin
- TextClock
- yoyo
- 리눅스
- manifestPlaceholders
- mysql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |