Facebook登录AsyncTask#4 NullPointerException启动时崩溃

Non*_*lin 2 nullpointerexception android-asynctask android-studio facebook-sdk-4.0

我已经查看了与我所遇到的问题有关的15个不同线程,到目前为止,没有一个解决方案对我有用.虽然我倾向于它是一个Android Manifest配置问题,但我似乎无法看到或弄清楚我到底做错了什么.所以希望有一套额外的眼睛和头脑可以帮助我.

05-29 11:43:46.679    5265-5300/com.example.android.slidingtabsbasic E/AndroidRuntime? FATAL EXCEPTION: AsyncTask #4
    java.lang.NullPointerException
            at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:781)
            at com.facebook.internal.Utility.queryAppSettings(Utility.java:802)
            at com.facebook.login.widget.LoginButton$1.run(LoginButton.java:509)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
            at java.lang.Thread.run(Thread.java:856)
Run Code Online (Sandbox Code Playgroud)

似乎我的app_id返回null?或者哈希的东西?我做了facebook Android快速启动,它提到了哈希的东西,但我认为它是可选的?

这是我的清单.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.slidingtabsbasic"
    android:versionCode="1"
    android:versionName="1.0">

    <!-- Min/target SDK versions (<uses-sdk>) managed by build.gradle -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

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

        <activity
            android:name=".MainActivity"
            android:parentActivityName=".MainActivity"
                  android:label="@string/app_name">
            <activity
                android:name="com.facebook.LoginActivity"
                android:theme="@android:style/Theme.Translucent.NoTitleBar"
                android:label="@string/title_facebook_login"
                />
            <meta-data android:name="com.facebook.sdk.ApplicationId"   android:value="@string/app_id"/>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>


</manifest>
Run Code Online (Sandbox Code Playgroud)

当我尝试API 16而不是更现代的API时,错误会改变,给我AsyncTask#4(16)和AsynTask#2 for(现代API).

Non*_*lin 5

通过移动解决了它

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
Run Code Online (Sandbox Code Playgroud)

在活动的一边,仍然在应用程序内.