You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成Facebook认证时出现类重复定义报错

解决React Native集成Facebook认证时的「Program type already present」报错

嘿,这个问题我之前也碰到过!报错Program type already present: com.facebook.AccessTokenTracker$CurrentAccessTokenBroadcastReceiver本质是重复依赖了Facebook Android SDK导致的类冲突,我来给你一步步解决:

1. 移除重复的Facebook SDK依赖

你的app/build.gradle里同时引入了react-native-fbsdk和手动添加的com.facebook.android:facebook-android-sdk:4.33.0,但react-native-fbsdk本身已经内置了对Facebook SDK的依赖,这就造成了同一个类被多次打包。

打开app/build.gradle,删除这一行:

implementation 'com.facebook.android:facebook-android-sdk:4.33.0'

2. 确保依赖版本兼容

你的react-native-fbsdk版本是^0.8.0,这个版本已经和对应的Facebook SDK版本做了适配,不需要手动指定SDK版本。如果后续遇到版本兼容问题,可以通过Gradle的依赖排除功能调整,但目前先移除手动添加的依赖就够了。

3. 清理并重新构建项目

依赖修改后,必须清理旧的构建缓存再重新编译:

  • 在Android Studio中依次点击 Build > Clean Project,然后 Build > Rebuild Project
  • 或者在项目根目录执行命令行:
cd android && ./gradlew clean && cd .. && react-native run-android

额外检查(可选)

  • 确认react-native-fbsdk已经正确链接:运行react-native link react-native-fbsdk(你的RN版本0.57.8支持自动链接,但手动执行一遍更稳妥)
  • 检查android/build.gradle的allprojects配置里是否包含Facebook的Maven仓库,确保依赖能正常下载:
allprojects {
    repositories {
        // ...其他已有的仓库
        mavenCentral()
        maven { url "https://maven.facebook.com" }
    }
}

内容的提问来源于stack exchange,提问作者Harleen Kaur Arora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:38:16