我在我的项目中导入了两个库(在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)
答案 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 Android和FirebaseUI Auth Android。它们非常彻底,很可能会遏制你的疑虑。