블로그 이사했습니다!
👇 블로그 이전 공지 👇
👇 새 블로그에서 글 보기 👇
[Error][Android] Facebook log-in:Manifest merger failed — Win Record (tistory.com)
문제상황
페이스북 소셜로그인을 추가하던 중, 빌드를 시작하면 빌드가 실패하는 문제가 생겼다.
Manifest merger failed : Attribute meta-data#com.facebook.sdk.ApplicationId@value value=(@string/facebook_app_id) from AndroidManifest.xml:53:13-52 is also present at [com.firebaseui:firebase-ui-auth:6.4.0] AndroidManifest.xml:21:13-60 value=(@string/facebook_application_id). Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:50:9-53:55 to override.
메시지를 보면 아래 코드에서 line 11~13 부분이 문제인 것을 확인할 수 있다.
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
...
<application ... >
...
<!-- 페이스북 로그인을 위한 meta-data 요소, Facebook 에 대한 활동, Chrome 맞춤 탭에 대한 활동 및 인텐트 필터 -->
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
...
</application>
</manifest>
위 에러 메시지를 해석하면 'firebase-ui-auth:6.4.0'와 Manifest 둘 다 페이스북 소셜로그인을 위한 앱 정보(facebook app id)를 가지고 있어, 어떤 것을 쓸 지 오버라이드를 통해 하나로 정하라는 뜻이다.
해결
이 문제는 프로젝트에 firebase-ui-auth가 있는 중에 페이스북 로그인을 위한 메타데이터를 Manifest에 추가하였을 때 발생한다. 따라서 메시지가 권고하는 대로 'tools:replace="android:value"'라는 코드를 추가해 해결한다. 이 코드는 firebase-ui-auth 안에 있던 페이스북 앱 아이디 관련 정보 대신 Manifest에 새로 추가한 meta-data의 내용을 사용하겠다는 뜻이다.
수정한 코드는 다음과 같다. 위 코드에서 line 2 가 추가되었다.
<meta-data
tools:replace="android:value"
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
참고자료
Android App Manifest merger failed Facebook and Firebase - Stack Overflow
공부하며 정리한 글입니다. 내용에 대한 피드백은 언제나 환영입니다.
'android' 카테고리의 다른 글
[Android][Kotlin] 암시적 인텐트 활용하기 (0) | 2022.06.26 |
---|---|
[error]Cloud FireStore: documentSnapshot.toObject() error (0) | 2021.01.25 |
Thread - 텍스트 변경하기 (0) | 2021.01.22 |
Thread - 이미지 바꾸기 (0) | 2021.01.22 |
Thread - 화면 변경하기(초시계) (0) | 2021.01.22 |
댓글