2013-09-26 3 views
1

Я следую https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/ для android sdk, все пошло нормально, как описано на данной лике, но когда я запустил проект, я получил ошибку «к сожалению» appname «перестала работать», и вот мои ошибки logcat:К сожалению, «appname» перестало работать

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): FATAL ИСКЛЮЧЕНИЕ: основные 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): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2202) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2237) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at android.app.ActivityThread.access $ 600 (ActivityThread.java:139) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1262) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at 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): at android.app.ActivityThread.main (ActivityThread.java:4974) 09-26 18 : 55: 54.564: E/AndroidRuntime (11123): at java.lang.reflect.Method.invokeNative (собственный метод) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at java.lang.reflect.Method.invoke (Method.java:511) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at com. android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at com.android.internal.os.ZygoteInit.main (ZygoteInit. java: 551) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at dalvik.system.NativeStart.main (родной метод) 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/AndroidRun время (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)): at 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): at android.app.Activity.performCreate (Activity.java:4538) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1071) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): at android.app.Acti vityThread.performLaunchActivity (ActivityThread.java:2158) 09-26 18: 55: 54.564: E/AndroidRuntime (11123): ...11 более

+0

'' applicationId 'не может быть пустым'? – RobinHood

+0

@RobinHood уже дал мой идентификатор приложения в string.xml ******************** если ур говорит о другом, то plz let я знаю об этом. –

+0

опубликуйте такой код! – RobinHood

ответ

1

Вы должны добавить и идентификатор приложения в вашем файле манифеста

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/fb_app_id"/> 

выше </application> тега.

"@string/fb_app_id" - ваш идентификатор приложения Fb с Facebook Developer Console внутри файла strings.xml.

EDIT:

Если Вы уверены, что Ваш манифест выглядит следующим образом:

<uses-sdk 
android:minSdkVersion="8" 
android:targetSdkVersion="17" /> 

<uses-permission android:name="android.permission.INTERNET"/> 

<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" > 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="21907****928145"/> 

</application> 

Попробуйте настройки App ID в коде:

session = new Session(this); 
session = new Session.Builder(this).setApplicationId("21907****928145").build(); 

EDIT: (пример используя идентификатор приложения в коде)

Создать новый класс и поместить его в основной пакет:

public class MyApp extends Application{ 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     session = new Session(this); 
     session = new Session.Builder(this).setApplicationId("21907****928145").build(); 
    } 
} 

переименовывать <application>in AndroidManifest.xml так:

<application 
android:allowBackup="true" 
android:icon="@drawable/ic_launcher" 
android:label="@string/app_name" 
android:theme="@style/AppTheme" 
android:name=".MyApp"> 
... 
+0

Я опубликовал файл манифеста, я получаю ошибку в строке, где я указываю свой идентификатор приложения. –

+0

Изменить 'android: value =" @ string/21907 **** 928145 "' to 'android: value =" @ string/app_id "или просто' android: value = "21907 **** 928145" ' – sswierczek

+0

Спасибо @Sebastian Swierczek удалил ошибку из манифеста, но все же я столкнулся с той же проблемой «к сожалению» appname «перестало работать» –

1

Вы имеете в виду строку "@ строки/21907 **** 928145"

Я предполагаю, что у вас есть ресурс String с именем «21907 **** 928145» и ключ приложения как значение.

Имя ресурса String не может начинаться с числа.

+0

Я обновил свой манифест, проверьте его и дайте мне знать, что не так. я все еще сталкиваюсь с одной и той же проблемой «к сожалению» appname «перестала работать» –

+1

Попробуйте создать строковый ресурс с именем «AppId» и вашим идентификатором приложения в качестве значения. В вашем манифесте положите Кроме того, не уверен, имеет ли значение это значение, но я всегда его ставил внутри приложения, а не внутри операции –

+1

Поместив внутри приложения, сохраненное мое время Спасибо @http: //stackoverflow.com/users/1373050/mark-buikema –

Смежные вопросы