如何修复Android新版本发布中的Facebook SDK冲突问题
解决Unity项目上传AAB时Facebook内容提供者权限冲突问题
核心原因
你遇到的com.facebook.app.FacebookContentProvider533108020750447和com.mustansarali.MyApp.FacebookInitProvider冲突,是因为当前项目的Facebook SDK配置关联了不属于你的Facebook应用ID,或是包名与原开发者的配置不匹配,导致这些内容提供者的唯一标识(绑定旧应用ID/包名)和其他开发者的重复。
具体修复步骤(Unity环境)
1. 确认并更新Facebook应用ID与包名
- 打开Unity编辑器,进入
Window > Facebook > Settings路径打开Facebook SDK设置界面。 - 检查当前填写的
App ID,替换为你自己在Facebook开发者平台创建的对应应用ID,不要使用原开发者的ID。 - 确认Package Name(包名)和你上传到Google Play Console的包名完全一致,删除原开发者的
com.mustansarali.MyApp这类旧包名。
2. 清理并重新生成AndroidManifest配置
Unity的Facebook SDK会自动生成AndroidManifest.xml内容,冲突条目就是自动生成的,需让SDK重新生成正确配置:
- 删除Unity项目
Assets/Plugins/Android目录下的AndroidManifest.xml(有手动修改备份的话先保存)。 - 回到Facebook SDK设置界面,点击Regenerate Android Manifest按钮,SDK会根据新设置的App ID和包名,生成唯一的内容提供者条目,避免重复冲突。
3. 手动移除残留冲突条目(自动生成后仍有问题时)
如果自动生成后还存在冲突条目,手动修改:
- 打开生成的
AndroidManifest.xml,搜索冲突的两个内容提供者名称,删除对应<provider>标签的完整内容。 - 确保保留的Facebook相关内容提供者,是绑定你自己App ID的(格式为
com.facebook.app.FacebookContentProvider[你的App ID]),且FacebookInitProvider的包名和当前项目一致。
4. 重新构建AAB包
完成上述配置后,在Unity中重新构建Android App Bundle(AAB),再上传到Google Play Console即可解决冲突。
内容的提问来源于stack exchange,提问作者Alessandro Blanco
相关产品推荐
相关产品推荐

