Android清单与facebook和firebase库合并

时间:2016-06-29 13:46:01

标签: android manifest facebook-sdk-4.0 firebase-authentication firebaseui

我在我的项目中导入了两个库(在gradle文件中):

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

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

但在构建项目时出现以下错误:

  

d:\的Android \项目\报价者\应用\ SRC \主\ AndroidManifest.xml中:68:13-58   错误:属性活动#com.facebook.FacebookActivity@theme   来自的值=(@ style / FirebaseUI.Translucent)   [com.firebaseui:firebase-ui-auth:0.4.0] AndroidManifest.xml:68:13-58     也出现在[com.facebook.android:facebook-android-sdk:4.13.0]   的AndroidManifest.xml:32:13-72   值=(@机器人:风格/ Theme.Translucent.NoTitleBar)。建议:添加   'tools:replace =“android:theme”'to element at   AndroidManifest.xml:64:9-68:61覆盖。

我发现扩展的jar包含Facebook sdk和Firebase UI库的清单文件,但我不确定是否更改它们是解决此错误的正确方法,因为每次我清理并重新构建我的项目时也会产生清单...

我该如何解决这个错误?在我看来,这两个图书馆之间是不可接受的......

注意:在我的应用中添加以下内容

<application
    tools:node="replace"

解决了这个问题,但启动应用是不可能的,因为Firebase没有正确初始化(参见https://stackoverflow.com/a/38060272/6503817

3 个答案:

答案 0 :(得分:9)

FirebaseUI已经为你编译了Facebook,所以当你尝试同步它时基本上会抛出错误,因为你试图编译同样的东西两次。

删除compile 'com.facebook.android:facebook-android-sdk:4.13.0'并保留:compile 'com.firebaseui:firebase-ui:0.4.0'

你完成了!

别担心!您仍将拥有Facebook登录

答案 1 :(得分:1)

不幸的是,“工具:替换”对我不起作用,但Firebase用户界面中的GitHub问题有一个解决方案https://github.com/firebase/FirebaseUI-Android/issues/230

  

但FirebaseUI已经依赖于SDK的4.11.0版本。您是否可以尝试删除您的Facebook依赖关系并仅依靠FirebaseUI带来的传递依赖?

答案 2 :(得分:0)

我建议您查看一次文档,提供FirebaseUI AndroidFirebaseUI Auth Android。它们非常彻底,很可能会遏制你的疑虑。