Android manifest merger with facebook and firebase libraries

强颜欢笑 提交于 2019-12-13 13:00:03

问题


I've imported in my project 2 libraries (in gradle file):

...
/* Firebase UI */
compile 'com.firebaseui:firebase-ui:0.4.0'

/* Facebook login */
compile 'com.facebook.android:facebook-android-sdk:4.13.0'

but when building my project I have the following error:

D:\Android\Projects\quoter\app\src\main\AndroidManifest.xml:68:13-58 Error: Attribute activity#com.facebook.FacebookActivity@theme value=(@style/FirebaseUI.Translucent) from [com.firebaseui:firebase-ui-auth:0.4.0] AndroidManifest.xml:68:13-58 is also present at [com.facebook.android:facebook-android-sdk:4.13.0] AndroidManifest.xml:32:13-72 value=(@android:style/Theme.Translucent.NoTitleBar). Suggestion: add 'tools:replace="android:theme"' to element at AndroidManifest.xml:64:9-68:61 to override.

I found the expanded jars with the manifest files for both Facebook sdk and Firebase UI libraries, but I'm not sure that changing them it's the right way to solve this error because each time I clean and re-build my project new manifests are also generated...

How can i solve this error? It seems to me an incopatibility between the 2 libraries...

Note: adding in my app manifest the following

<application
    tools:node="replace"

solve this problem, but it's impossible to launch the app because Firebase it's not correctly initialized (see https://stackoverflow.com/a/38060272/6503817)


回答1:


FirebaseUI already compiles Facebook for you, so when you try to sync it basically throws the error because you are trying to compile the same thing twice.

Remove compile 'com.facebook.android:facebook-android-sdk:4.13.0' and keep: compile 'com.firebaseui:firebase-ui:0.4.0'

and you are done!

Don't worry! You will still have Facebook Login




回答2:


Unfortunately, "tools:replace" didn't work for me, but a GitHub issue in the Firebase UI has a solution https://github.com/firebase/FirebaseUI-Android/issues/230

But FirebaseUI already depends on version 4.11.0 of the SDK. Can you try removing your Facebook dependency and just relying on the transitive dependency brought in by FirebaseUI?




回答3:


I would recommend you go through the documentation once, provided FirebaseUI Android and FirebaseUI Auth Android. They are pretty thorough and most likely will curb your doubts.



来源:https://stackoverflow.com/questions/38101517/android-manifest-merger-with-facebook-and-firebase-libraries

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!