티스토리 뷰
증분빌드에 대해서 들어보셨나요?
증분
컴퓨터 관련 용어로는 레지스터에 1을 더하는 것, 단위체로 취급되는 경우의 샘플링 단위 등을 의미함. - 네이버 지식백과
이번 포스트는 증분빌드를 통한 에러가 발생한 경험을 나누려고 합니다.
Android로 구성된 앱을 AndroidX로 마이그레이션 하면서 kotlin gradle 버전을 1.3.50로 업데이트 하였습니다.
마이그레이션 완료 후 빌드 했을 때 다음과 같은 에러 메시지가 발생하였습니다.
w: [kapt] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: io.realm.processor.RealmProcessor (NON_INCREMENTAL), com.bumptech.glide.annotation.compiler.GlideAnnotationProcessor (NON_INCREMENTAL), butterknife.compiler.ButterKnifeProcessor (NON_INCREMENTAL), android.databinding.annotationprocessor.ProcessDataBinding (NON_INCREMENTAL).
NON_INCREMENTAL 경구 문구 노출 원인이 무엇일까?
문제 발생한 로그를 보면 NON_INCREMENTAL 를 print하고 있는데요.
INCREMENTAL (증분) 주석처리에 대한 에러 상황입니다.
증분빌드
이전에 빌드된 상태에서 다시 빌드를 시도 시 이전에 빌드한 상태가 최신일 경우 다시 빌드 안하는 빌드를 의미한다.
효과는 빌드 시간 단축이 있다.
버전 1.3.30부터 kapt는 실험 기능으로 선택적으로 증분 주석 처리를 지원하고 있었고 1.3.50 버전부터는 기본적으로 증분 주석 처리가 되고 있습니다.
AndroidX로 마이그레이션 하면서 Kotlin Gradle 버전을 1.3.50 으로 설정하며 기본적으로 증분 주석 처리를 하는 상황이 됩니다.
그러다 보니 증분 주석처리를 지원 안하는 라이브러리를 강제로 증분 주석처리를 시도하여 경고 메시지를 Print 하게됩니다.
해결방법
증분 주석 에러를 피하는 방법은 해당 라이브러리의 증분 주석 처리를 비활성화 하는 방법이 있습니다.
증분 주석 처리를 비활성화 하려면 gradle.properties
에서 증분 주석 처리를 false 할 수 있습니다.
증분 주석 처리를 지원 안하는 모든 모듈을 각각 gradle.properties을 생성 후 증분 주석처리를 비활성화 합니다.
증분 주석처리 할 모듈의 이름을 확인 후 libs / <your module name> 각 모듈에 대한 gradle.properties 안에 다음과 같이 선언하여 증분 주석 처리 비활성화 합니다.
만약 해당 모듈에 대한 gradle.properties 가 없을 시 생성하면 됩니다.
kapt.incremental.apt = false
관련 링크
증분 주석 처리 경고 대응 방법 - statckoverflow
'프로그래밍 > Android' 카테고리의 다른 글
Corner Round View 만드는 방법 (0) | 2021.02.15 |
---|---|
접근성(Voice Assistant) (0) | 2021.01.03 |
Stetho Library 를 사용해 보자 (0) | 2020.06.11 |
앱 등록 거절 Malicious Behavior Policy 해결하기 (3) | 2020.06.10 |
Window Manager을 활용한 디바이스 화면 상태 체크하기 (0) | 2020.06.05 |
- push
- 고시문
- Android
- 패턴
- 선교
- 점수판
- 알고리즘
- 미션차이나센터
- DI
- 코틀린
- IT
- 탁구
- IOS
- Android Studio
- 임용고시
- 스코어헬퍼
- issue
- swift
- 안드로이드
- view
- flutter
- java
- 디자인패턴
- missionchina
- 고시문헬퍼
- MCC
- missioon
- Kotlin
- RXjava
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |