일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- architecture
- 암호학
- Gradle
- Hilt
- Rxjava
- Coroutines
- 백준
- livedata
- Python
- MiTweet
- TEST
- ProGuard
- Codeforces
- android
- Compose
- boj
- pandas
- GitHub
- Kotlin
- 코드포스
- relay
- Coroutine
- MyVoca
- 쿠링
- activity
- 코루틴
- androidStudio
- AWS
- textfield
- 프로그래머스
- Today
- Total
목록Gradle (6)
이동식 저장소
지난 몇 주간 쿠링 안드로이드 앱을 모듈화하고 있다. 여러 이슈가 있었지만 선배님과 함께 잘 풀어나가고 있다. 그 중에서도 오늘은 Gradle의 기능과 관련된 사례 하나를 소개하려 한다. 앱에서 사용하는 도메인 클래스를 ``:data:domain`` 모듈로 옮겼다. 동시에 테스트 코드에 있던 도메인 클래스의 mock 코드를 클래스의 정의로 옮겼다. data class Department( val name: String, val shortName: String, val koreanName: String, val isSubscribed: Boolean, val isSelected: Boolean, val isNotificationEnabled: Boolean, ) { companion object { fun..
``./gradlew [moduleName]:dependencies`` 커맨드를 실행해 보자. 각 라이브러리에서 참조하는 다른 라이브러리들을 볼 수 있다. +--- androidx.hilt:hilt-compiler:1.0.0 | +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.7.0 | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0 | | \--- org.jetbrains:annotations:13.0 | +--- com.google.auto:auto-common:0.11 | | \--- com.google.guava:guava:29.0-jre -> 31.0.1-jre | | +--- com.google.gu..
``androidTest`` 폴더에 있는 instrumented test는 에뮬레이터를 통해 테스트될 수 있다. 그런데 에뮬레이터는 메모리도 많이 잡아먹고, UI까지 전부 그리기 때문에 unit test보다 더 무겁다는 느낌이 있다. 에뮬레이터를 매번 켜는 게 번거롭기도 하고, 그래서 그런지 개발하는 입장에서도 자주 실행하지 않게 된다. 테스트는 모름지기 자주 실행되어야 하는 법이거늘. Gradle Managed Devices 매번 에뮬레이터를 켜는 대신 Gradle Managed Devices를 사용하면 instrumented test를 더 간편하게 실행할 수 있다고 한다. 대략 다음의 작업을 대신 해 준다. 기기와 관련된 작업을 대신 처리 (기기를 켜고 끄는 등) 기기를 켜는 시간을 단축하고 테스트 ..
모듈을 여러 개 작성하다 보면 ``build.gradle`` 파일이 복잡해지곤 한다. 같은 라이브러리를 여러 번 작성하다 보면 오타가 날 수도 있고, 버전 관리가 힘들어지기도 한다. 당장 위의 ``:database`` 모듈에서도 junit 라이브러리를 하나만 사용함에도 불구하고 bom으로 선언하는 오류가 있다. Gradle의 기능을 사용하면 버전 관리를 쉽게 할 수 있다. 이름하여 Version Catalog! Version Catalog 카탈로그는 상품 목록 등을 한 곳에 모아놓아 보기 쉽게 정리한 것이다. 단어 그대로 Version Catalog는 앱에서 사용하는 라이브러리를 모아놓은 파일이다. 라이브러리를 사용하고 싶다면 catalog에서 선택하기만 하면 된다. 버전 관리는 catalog에서 알아서..