티스토리 뷰
앱 개발을 하다보면 간혹 특정 부분만 변경해(앱 이름, 앱 아이콘, debug version ......) 여러 APK 가 필요한 경우가 있다.
이런 경우 가장 간단하게는 copy & paste 로 프로젝트를 여러개 관리하면 되지만 gradle 을 이용한다면 쉽게 이런 일들을 처리할 수 있다.
이번 포스팅에서는 gradle 을 이용하여 여러가지 버전을 만드는 방법에 대해 알아보자.
Build Variants
BuildTypes + ProductFlavors
하나의 앱에 여러가지 빌드를 할 수 있다.
BuildTypes
개발 단계에 따라 달라지는 부분을 명시한다.
(ex: alpha, beta, release)
안드로이드 스튜디오로 프로젝트를 생성하면 gradle 은 기본적으로 debug, release build type 을 생성한다.
기본적인 debug, release 외 alpha, beta 와 같이 사용자가 추가도 가능하다.
Build type 에 따라 키스토어, 디버그 모드 등을 다르게 설정할 수 있고, 소스코드, 리소스 까지 다르게 적용할 수 있다.
하단과 같이 Build Variants 가 변경된다.
productFlavors
동일한 앱이지만 다르게 처리해야 하는 부분을 명시한다.
(ex: 무료버전, 과금버전)
안드로이드 스튜디오로 프로젝트를 생성해도 기본적으로 productFlavors 가 생성되지 않는다.
Build type 처럼 키스토어, 디버그 모드, 소스코드, 리소스 까지 다르게 적용할 수 있다.
하단과 같이 Build Variants 가 변경된다.
SourceSets
구성한 build variants 에 따라 다르게 처리할 소스코드, 리소스를 명시한다.
명시한 디렉토리는 자동으로 생성되지 않는다.
(알아서 생성해야 한다.)
BuildType, ProductFlavor 각각 지정할 수 있고 조합해서 지정할 수도 있다.
(조합할 경우 ProductFlavor + BuildType 순이다.)
하단은 SourceSet 을 적용한 예시다.
Source code
https://github.com/parkho79/GradleSample
'Android' 카테고리의 다른 글
TextView 글자크기를 동적으로 변경하기 (0) | 2020.02.21 |
---|---|
AndroidX (0) | 2020.02.12 |
배터리 최적화 제외하기 (2) | 2020.02.06 |
Android 에서 XML 을 통한 다국어 지원 (0) | 2020.02.04 |
Shape Drawable 동적으로 색 변경하기 (2) | 2020.01.20 |
- Total
- Today
- Yesterday
- WEMIX
- bindservice
- task
- 채굴앱
- mPANDO
- p2e
- android activity flag
- 앱테크
- android task
- onCreateContextMenu
- notifyDataSetChanged
- android flag activity
- StartService
- Intent
- 리워드 어플
- Android Service
- 무료 채굴
- 무료채굴
- BroadcastReceiver
- 리워드앱
- StringUtils
- 안드로이드 인텐트
- registerForContextMenu
- onContextItemSelected
- 안드로이드 서비스
- RoomDatabase
- task 생성
- M2E
- android intent
- 앱테크 추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |