반응형
build.gradle 파일에서 implementation 된 일부 구글 라이브러리들의 버전을 업데이트 해 준 뒤
해당 오류가 발생되며 빌드가 되지 않는 경우가 발생하였습니다.
제 경우에는 Firebase라이브러리 중 일부를 18.0.0으로, Crashlytics 라이브러리를 2.10.1로 업데이트 해준 뒤 발생하였는데요
빌드 시 오류의 내용은 아래와 같습니다.
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:5:5-19:19 to override.
발생원인은 Android P 이후 구글의 서포트 라이브러리들이 androidx를 사용하게 되었기 때문입니다.
해당 부분 오류는
gradle.properties 파일에 아래의 두줄을 추가 해 주면 해결됩니다.
android.useAndroidX=true
android.enableJetifier=true
서포트 라이브러리들의 네이밍들이 android 에서 androidx 로 교체되었기 때문에 신규버전을 사용할 경우에는
본래 기존 프로젝트를 리펙터링해서 이전해주어야 하지만,
상기의 방법으로 gradle.properties에 두줄을 추가시켜주는것만으로 계속 사용할 수 있습니다.
좀 더, 자세한 사항은 아래의 [개발자노트 : AndroidX로 이전]을 확인해주세요.
반응형
'Android > Exceptions' 카테고리의 다른 글
invalid drawable tag vector (0) | 2020.03.20 |
---|---|
android.os.NetworkOnMainThreadException (0) | 2020.03.13 |
APK 빌드시 Lint found fatal errors while assembling - (1) | 2019.06.19 |
ad.loadClass에서 발생하는 ClassNotFoundException (0) | 2019.04.03 |
TextView 에서의 InflateException 발생 (0) | 2019.04.02 |
댓글