본문 바로가기
android

[error]Facebook log-in:Manifest merger failed

by 윈 Win 2021. 1. 25.
728x90

블로그 이사했습니다!

 

👇 블로그 이전 공지 👇

블로그 이전 안내 (tistory.com)

 

 

👇 새 블로그에서 글 보기 👇

[Error][Android] Facebook log-in:Manifest merger failed — Win Record (tistory.com)

 

[Error][Android] Facebook log-in:Manifest merger failed

⚠️ 2021.01.25에 작성된 글입니다 ⚠️ 문제상황 페이스북 소셜로그인을 추가하던 중, 빌드를 시작하면 빌드가 실패하는 문제가 생겼다. Manifest merger failed : Attribute meta-data#com.facebook.sdk.Appli..

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

 

 

 

공부하며 정리한 글입니다. 내용에 대한 피드백은 언제나 환영입니다.

댓글