외부 라이브러리를 빌드하던 도중 Duplicate class found 에러가 나타났다.
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules core-1.9.0-runtime (androidx.core:core:1.9.0) and support-compat-26.1.0-runtime (com.android.support:support-compat:26.1.0)
androidx.core:core:1.9.0 와 com.android.support:support-compat:26.1.0 에서 같은 이름의 클래스가 있는 모양이다.
android.useAndroidX=true
android.enableJetifier=true
위 두 줄을 gradle.properties 파일에 추가해주니 해결되었다.
android.useAndroidX=true : 기존의 Support Library 대신 적절한 AndroidX Library를 사용할 수 있다.
android.enableJetifier=true : 기존의 타사 라이브러리를 자동으로 AndroidX로 이전할 수 있다. 참고로 enableJetifier를 true로 설정할 시 빌드 시간을 지연시킬 수 있으므로, 꼭 필요한 경우가 아니라면 사용하지 않는 것이 좋다. 만약 이미 사용중이라면 빌드 분석 도구(Android Chipmunk version부터 사용 가능)로 Jetifier가 실제로 필요한지 확인할 수 있다.
이번 상황은 외부 라이브러리를 사용 시 에러가 발생했기 때문에 android.enableJetifier=true 을 추가해주었다.
https://stackoverflow.com/questions/55756647/duplicate-classes-from-androidx-and-com-android-support
https://velog.io/@jeongminji4490/Error-Duplicate-class-found