8

我在我的项目中导入了 2 个库(在 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\Projects\quoter\app\src\main\AndroidManifest.xml:68:13-58 错误:属性 activity#com.facebook.FacebookActivity@theme value=(@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 值=(@android:style/Theme.Translucent.NoTitleBar)。建议:将 'tools:replace="android:theme"' 添加到 AndroidManifest.xml:64:9-68:61 的元素以覆盖。

我找到了带有 Facebook sdk 和 Firebase UI 库的清单文件的扩展 jar,但我不确定更改它们是否是解决此错误的正确方法,因为每次我清理和重新构建我的项目时,新的清单也是生成...

我该如何解决这个错误?在我看来,这两个库之间不兼容......

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

<application
    tools:node="replace"

解决了这个问题,但由于 Firebase 未正确初始化,因此无法启动该应用程序(请参阅https://stackoverflow.com/a/38060272/6503817

4

3 回答 3

10

FirebaseUI 已经为您编译了 Facebook,因此当您尝试同步时,它基本上会抛出错误,因为您尝试编译相同的东西两次。

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

你就完成了!

不用担心!您仍将拥有 Facebook 登录

于 2016-09-17T08:48:48.280 回答
1

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

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

于 2016-08-04T23:50:03.383 回答
0

我建议您浏览一下文档,提供FirebaseUI AndroidFirebaseUI Auth Android。它们非常彻底,很可能会消除您的疑虑。

于 2017-11-22T22:15:36.327 回答