ERROR: Manifest merger failed : Attribute application@appComponentFactory value=
2221 단어 Android 개발 기술
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:36:5-364:19 to override.
원인 패키지 충돌
인터넷에 추가가 있어요.
tools:replace="android:appComponentFactory"
그리고 또 틀렸어요.
Error:
tools:replace specified at line:15 for attribute android:appComponentFactory, but no new value specified
계속 추가
android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
여전히 잘못을 보고하다
* What went wrong:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: androidx.versionedparcelable.CustomVersionedParcelable
온갖 고생 끝에 드디어 get이 도착했습니다. Androidx와 Android Support 라이브러리는 공존할 수 없습니다.
해결 방안이 Androidx로 바뀌면 이것은 더 말할 것도 없지만, 일부 항목의 전환 작업량은 매우 크니, 스스로 고려해 보아라
솔루션 2 AndroidX를 Android Support로 전환
1. 라이브러리가 Androidx에 의존하고 있는지 확인합니다
gradlew :app:dependencies
드디어 어느 라이브러리가 안드로이드에 의존하는지 찾았어요.
play-services-base
버전 실행 낮추기;