【发布时间】:2013-09-26 13:03:42
【问题描述】:
我正在关注https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/ for android sdk,正如给定的 lik 中所描述的那样,一切都很顺利,但是当我运行我的项目时,我收到错误“不幸的是 'appname' 已停止工作”,这是我的 logcat错误:
09-26 17:37:06.662: E/AndroidRuntime(5849): FATAL EXCEPTION: main
09-26 17:37:06.662: E/AndroidRuntime(5849): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.facebook.hellofriend/com.facebook.hellofriend.MainActivity}: java.lang.NullPointerException: Argument 'applicationId' cannot be null
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2202)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2237)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.app.ActivityThread.access$600(ActivityThread.java:139)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.os.Handler.dispatchMessage(Handler.java:99)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.os.Looper.loop(Looper.java:154)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.app.ActivityThread.main(ActivityThread.java:4974)
09-26 17:37:06.662: E/AndroidRuntime(5849): at java.lang.reflect.Method.invokeNative(Native Method)
09-26 17:37:06.662: E/AndroidRuntime(5849): at java.lang.reflect.Method.invoke(Method.java:511)
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
09-26 17:37:06.662: E/AndroidRuntime(5849): at dalvik.system.NativeStart.main(Native Method)
09-26 17:37:06.662: E/AndroidRuntime(5849): Caused by: java.lang.NullPointerException: Argument 'applicationId' cannot be null
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.facebook.internal.Validate.notNull(Validate.java:29)
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.facebook.Session.<init>(Session.java:227)
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.facebook.Session.<init>(Session.java:216)
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.facebook.Session$Builder.build(Session.java:1575)
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.facebook.Session.openActiveSession(Session.java:888)
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.facebook.Session.openActiveSession(Session.java:830)
09-26 17:37:06.662: E/AndroidRuntime(5849): at com.facebook.hellofriend.MainActivity.onCreate(MainActivity.java:19)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.app.Activity.performCreate(Activity.java:4538)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071)
09-26 17:37:06.662: E/AndroidRuntime(5849): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2158)
09-26 17:37:06.662: E/AndroidRuntime(5849): ... 11 more
谢谢。
我的清单文件是:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.facebook.hellofriend.MainActivity"
android:label="@string/app_name" >
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="21907****928145"/>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
这是我的新 logcat 错误 :( 09-26 18:55:54.564:E/AndroidRuntime(11123):致命异常:主要 09-26 18:55:54.564: E/AndroidRuntime(11123): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.facebook.hellofriend/com.facebook.hellofriend.MainActivity}: java.lang.NullPointerException: 参数'applicationId' 不能为空 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2202) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2237) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.app.ActivityThread.access$600(ActivityThread.java:139) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.os.Handler.dispatchMessage(Handler.java:99) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.os.Looper.loop(Looper.java:154) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.app.ActivityThread.main(ActivityThread.java:4974) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 java.lang.reflect.Method.invokeNative(Native Method) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 java.lang.reflect.Method.invoke(Method.java:511) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 09-26 18:55:54.564: E/AndroidRuntime(11123): at dalvik.system.NativeStart.main(Native Method) 09-26 18:55:54.564:E/AndroidRuntime(11123):原因:java.lang.NullPointerException:参数“applicationId”不能为空 09-26 18:55:54.564: E/AndroidRuntime(11123): at com.facebook.internal.Validate.notNull(Validate.java:29) 09-26 18:55:54.564: E/AndroidRuntime(11123): at com.facebook.Session.(Session.java:227) 09-26 18:55:54.564: E/AndroidRuntime(11123): at com.facebook.Session.(Session.java:216) 09-26 18:55:54.564: E/AndroidRuntime(11123): at com.facebook.Session$Builder.build(Session.java:1575) 09-26 18:55:54.564: E/AndroidRuntime(11123): at com.facebook.Session.openActiveSession(Session.java:888) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 com.facebook.Session.openActiveSession(Session.java:830) 09-26 18:55:54.564: E/AndroidRuntime(11123): at com.facebook.hellofriend.MainActivity.onCreate(MainActivity.java:19) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.app.Activity.performCreate(Activity.java:4538) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071) 09-26 18:55:54.564: E/AndroidRuntime(11123): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2158) 09-26 18:55:54.564: E/AndroidRuntime(11123): ... 11 更多
【问题讨论】:
-
'applicationId' cannot be null? -
@RobinHood 已经在 string.xml 中提供了我的应用程序 ID
******************** string> 如果你在谈论另一个,请告诉我,谢谢。 -
你说的是这个吗?hellofriend 设置 Hello world! ******** -
@AamirSaif 看看我的回答,这是使用 FB SDK 时出现此类异常的解决方案