Android/Java项目报错:调用activateApp前需初始化Facebook SDK
解决Facebook SDK初始化导致的崩溃问题
报错详情
E/AndroidRuntime: FATAL EXCEPTION: main
Caused by: The Facebook sdk must be initialized before calling activateApp
解决方案
- 优先在Application类中初始化SDK:把Facebook SDK的初始化放在应用启动的最早期,比如自定义
Application的onCreate方法里,确保activateApp等操作在初始化之后执行:import com.facebook.FacebookSdk; import com.facebook.appevents.AppEventsLogger; public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); // 初始化Facebook SDK FacebookSdk.sdkInitialize(getApplicationContext()); // 之后再调用activateApp AppEventsLogger.activateApp(this); } } - 检查Manifest配置:确认
AndroidManifest.xml里已经添加了Facebook应用ID的元数据:
同时在<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>res/values/strings.xml中配置好你的应用ID:<string name="facebook_app_id">你的Facebook应用ID</string> - 排查调用顺序:所有依赖Facebook SDK的功能(登录、分享、统计等),必须等SDK初始化完成后再调用,不要在
Activity的onCreate里提前触发相关操作。
内容的提问来源于stack exchange,提问作者RAGIP MULLAMUSA
相关产品推荐
相关产品推荐

