React Native应用Facebook分享报错:Failed to get app name求助
解决React Native分享到Facebook时出现“Failed to get app name”的问题
这个错误FacebookException: Failed to get app name通常是因为Facebook SDK无法正确获取你的应用名称,大概率是AndroidManifest配置缺失或者字符串资源配置有问题。我来帮你一步步排查解决:
1. 先检查字符串资源配置
首先打开res/values/strings.xml,确认两个关键字符串是否正确定义:
<!-- 你的应用名称,必须和AndroidManifest里引用的一致 --> <string name="app_name">你的应用全称</string> <!-- 在Facebook开发者后台申请的应用ID --> <string name="facebook_app_id">1234567890</string>
这里要确保app_name不是空值,而且拼写和AndroidManifest里的引用完全一致。
2. 补全AndroidManifest的必要配置
你提供的配置里缺少了Facebook SDK获取应用名称必须的meta-data项,同时还要注意Android 12+的兼容性配置。把以下内容补充到你的AndroidManifest.xml的<application>标签内:
<!-- 你已有的ApplicationID配置保留 --> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <!-- 新增这一行,让Facebook SDK能拿到应用名称 --> <meta-data android:name="com.facebook.sdk.ApplicationName" android:value="@string/app_name"/> <!-- 完善FacebookActivity配置,Android 12+必须加android:exported="true" --> <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" android:exported="true"/> <!-- 如果你的分享用到了Facebook自定义标签(大部分场景都需要),添加这个Activity --> <activity android:name="com.facebook.CustomTabActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <!-- 这里的scheme是fb+你的Facebook应用ID,比如fb1234567890 --> <data android:scheme="@string/fb_login_protocol_scheme"/> </intent-filter> </activity>
另外,别忘了在Manifest的根标签下添加网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
3. 清理重建项目
配置修改后,一定要清理并重新构建项目,避免缓存问题:
- 如果你用Android Studio:点击顶部菜单
Build -> Clean Project,然后Build -> Rebuild Project - 如果你用命令行:进入项目的android目录,执行
./gradlew clean && ./gradlew assembleDebug
额外排查点
如果上面的步骤还没解决问题,可以检查:
- 确认Facebook开发者后台的Android平台配置里,包名、签名哈希值和你的项目完全匹配,这是很多人容易忽略的点
- 检查React Native的Facebook SDK依赖版本和Android端的依赖版本是否兼容,尽量使用官方推荐的匹配版本
内容的提问来源于stack exchange,提问作者adi.neag
相关产品推荐
相关产品推荐

