예시 하나로 안드로이드 스튜디오에서 core 모듈(공통 모듈) 만드는 방법을 간단히 정리해보겠습니다.
1️⃣ New Module 생성
- Android Studio
- 상단 메뉴 → File > New > New Module
- Android Library 선택 (Application 아님)
- Next

2️⃣ 모듈 기본 설정
- Module name: core
(또는 목적별로 core-ui, core-data, core-domain) - Package name:
예) com.yourapp.core - Language: Kotlin
- Minimum SDK: 앱과 동일하게
- Finish


core는 순수 유틸/도메인이라 테스트 안 쓸 거라서
ExampleUnitTest.kt, ExampleInstrumentedTest.kt 체크 해제함
3️⃣ settings.gradle 확인
자동으로 추가되지만, 없으면 직접 추가:
include(":core")
4️⃣ app 모듈에서 core 의존성 추가
app/build.gradle:
dependencies {
implementation(project(":core"))
}
5️⃣ core 모듈에 뭐를 넣나? (중요)
📦 core 모듈에 적합한 것
- 공통 UI (Compose 컴포넌트)
- 공통 util / extension
- 공통 theme / typography / color
- Base ViewModel
- 공통 Result, UiState, UiEvent
- DispatcherProvider
- Logger
❌ 넣으면 안 되는 것
- 특정 화면
- Feature 의존 코드
- Activity / Fragment 직접 참조
6️⃣ 클린 아키텍처 기준 추천 분리
:core-ui // 공통 Compose UI
:core-domain // Entity, UseCase, 공통 인터페이스
:core-data // Network, DB 공통 코드
최소 시작은
:core
→ 커지면 쪼개기
7️⃣ Compose 사용하는 core 모듈 설정
core/build.gradle:
android {
buildFeatures {
compose true
}
}
dependencies {
implementation(platform(libs.compose.bom))
implementation(libs.compose.ui)
implementation(libs.compose.material3)
}
반응형
'android' 카테고리의 다른 글
| 개발자 등록 후 Google Play Console에서 앱 등록하기 (0) | 2026.01.12 |
|---|---|
| [프로그래머스] A로 B 만들기 (0) | 2025.12.22 |
| DTO, Entity, Model(Domain, UI)의 차이 (0) | 2025.12.08 |
| [Compose] Recomposition (1) | 2025.07.13 |
| 딥링크란? (5) | 2025.06.02 |