冲突的内容提供程序 Facebook SDK

13

我使用 facebook SDK 版本 4.0.0 遇到了问题 -> 我试图设置我的应用程序的两个不同版本 - staging 和 production。

一切都像预期的那样运行良好,但如果已经安装了一个应用程序,则在尝试安装另一个应用程序时会出现 INSTALL_FAILED_CONFLICTING_PROVIDER 错误。

我进行了研究,尝试了一些解决方案,但不幸的是,由于这是第三方提供程序,我什么也没做成。

也许有人遇到过类似的问题并找到了解决方案?我会很高兴获得任何帮助、链接、文档等。

以下是我在清单文件中定义提供程序的方式,正是 Facebook 文档告诉我们应该这样做的:

<provider android:authorities="com.facebook.app.FacebookContentProvider{staging or production fb app id depending on flavour}"
              android:name="com.facebook.FacebookContentProvider"
              android:exported="true" />
2个回答

3

您需要创建两个分别的Facebook应用程序ID,因为我认为您已经为测试和生产环境设置了两个不同的应用程序包名称。

例如,测试环境应用程序包名称:com.example.app1

生产环境应用程序包名称:com.example.app2

因此,您不能在这两个版本中使用相同的Facebook应用程序ID。


你好,我没有使用相同的Facebook应用程序ID,我在Facebook控制台中有两个不同的应用程序,并且我还有不同的包。 - bartol

1
我遇到了完全相同的问题。这是因为提供者权限需要唯一。首先尝试从设备中卸载您的应用程序(所有版本),这对我有效。看起来两个版本无法共存,具有相同的内容提供者权限和/或包名称,如果不起作用,可以尝试更改其中一个。否则,您可能只能使用2个不同的Facebook应用程序ID。

嗨,感谢您的评论,很遗憾我还没有解决它。这真的很烦人,但现在唯一的解决办法就像您所写的那样,卸载应用程序,尽管这让我很生气,因为拥有多个版本的应用程序的整个目的是能够构建和发布尽可能多的不同版本的应用程序。见鬼,脸书 ;) - bartol
是的,非常令人恼火。虽然这不是我第一次与Facebook SDK冲突,但它确实很差 :( - agustinaliagac

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接