일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프론트엔드
- 파이썬
- kotlin
- stdin vs input
- javascript
- firebase
- NPM
- TS
- Android
- 최적화
- 백준 스택
- 백준 스택 시간초과 python
- 파이어베이스
- C++
- typescript
- 안드로이드
- 타입스크립트
- nodejs
- 코딩테스트
- k for k
- 자바스크립트
- 스택
- HTML
- JS
- 알고리즘
- 리액트
- CSS
- react
- next Link
- Python
- Today
- Total
sooleeandtomas
안드로이드스튜디오에서 domain 모듈 분리하는 방법 본문
## before 폴더구조
- app
-manifest
-java
-[foldername]
-[foldername](androidTest)
-[foldername](test)
-res
-Gradle Scripts
-build.gradle(Project:[ProjectName])
-build.gradle(Module:[ProjectName].app)
-settings.gradle
## after 폴더구조
- app
-manifest
-java
-[foldername]
-[foldername](androidTest)
-[foldername](test)
-res
-domain
-java
-[foldername].domain
-[foldername].domain(test)
-Gradle Scripts
-build.gradle(Project:[ProjectName])
-build.gradle(Module:[ProjectName].app)
-build.gradle(Module:[ProjectName].domain)
-settings.gradle
1. 모듈을 생서하는 방법
Android Studio > File > New Module > Java or Kotlin Library
순수 자바/코틀린 모듈을 설치하기 위해서는 "Java or Kotlin Library"를 설치해야 한다. 그래야 순수 class 파일만 생성할 수 있다.
만약 Android Library를 설치하게 되면 불필요한 manifest xml 등의 파일들이 설치되게 된다.
- Library module - The purpose of a library is to share code. For example, you could have a project with a couple different app modules. The common code that they both use could be located in the library.
- Android Library - In addition to Java code, this allows you to also include Android resource files and a manifest. If you are making an Android project and are wondering what kind of library to use, then choose the Android Library. When compiled it creates an AAR (Android Archive) file.
- Java Library - This only allows you to include Java code files, no Android resource files. This is useful for cross-platform code sharing. When compiled it creates a JAR (Java Archive) file
2. build.gradle파일 작성
settings.gradle
settings.gradle에 include : ':domain' 가 추가된 것을 볼 수 있다.
include ':app'
rootProject.name = "AndroidCalculator"
include ':domain'
build.gradle(Module:[ProjectName].app)
dependencies에 생성한 모듈을 implementation으로 추가해준다.
* 라이브러리는 추가 / 삭제가 빈번하지만, 프로젝트 의존성 연결은 추가 / 삭제가 빈번하지 않습니다.
그래서 프로젝트 implementation은 dependencies 블록의 상단에 위치하는 것이 관리 측면에서 좀 더 좋습니다.
dependencies{
implementation project(":domain")
...
}
build.gradle(Module:[ProjectName].domain)
해당 모듈에 필요한 dependencies만 추가해준다.
repositories에 mavenCentral() 또는 jcenter()을 추가해준다.
...
dependencies {
testImplementation 'junit:junit:4.+'
}
repositories{
mavenCentral() // or jcenter()
}
'코틀린 > kotlin' 카테고리의 다른 글
안드로이드 코틀린 아키텍쳐와 테스트 (1) (0) | 2022.07.13 |
---|---|
코틀린 화면 구성하기 (0) | 2021.09.18 |
android studio를 M1에서 사용하기 (0) | 2021.09.13 |
코틀린 문법 (0) | 2021.09.07 |