web-dev-qa-db-ja.com

Android StudioはFacebookのインポートを認識しません

私は初心者で、Facebook統合を使用してアプリを作成しようとしています。

すべての手順を完了しました(モジュール構造にFacebook SDKをインポートし、不足している依存関係をgradleファイルに追加し、アプリプロジェクトの依存関係モジュールを構造に再度追加します)。すべてが正常であるように見えました。main_activity.xmlに単純なLoginButtonを追加しましたが、エラーは表示されませんでした。

MainActivity.Javaで必要なすべてのFacebookインポートを実行しようとしたため、すべて赤になりました。それらは次のような輸入品でした:

    import com.facebook.Session;
    import com.facebook.SessionState;
    import com.facebook.UiLifecycleHelper;
    import com.facebook.widget.LoginButton;
    import com.facebook.widget.LoginButton.UserInfoChangedCallback;

「シンボルセッションを解決できません」などのメッセージ。私はそれを可能な限りグーグルで検索しましたが、私に役立つ解決策を見つけることができませんでした。反対に、これには問題がないようです。

    import com.facebook.login.widget.LoginButton;

これが私のAndroidマニフェストファイルXMLです:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.user.moviere" >

    <uses-permission Android:name="Android.permission.INTERNET"/>
    <application
        Android:allowBackup="true"
        Android:icon="@mipmap/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >
        <meta-data Android:name="com.facebook.sdk.ApplicationId" Android:value="@string/facebook_app_id"/>
        <activity
            Android:name=".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>

        <activity Android:name="com.facebook.LoginActivity"
            Android:theme="@Android:style/Theme.Translucent.NoTitleBar"
            Android:label="@string/app_name" />
        <meta-data Android:name="com.facebook.sdk.ApplicationId" Android:value="@string/facebook_app_id"/>

        <activity Android:name="com.facebook.FacebookActivity"
            Android:configChanges=
                "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            Android:theme="@Android:style/Theme.Translucent.NoTitleBar"
            Android:label="@string/app_name" />
    </application>

</manifest>

そしてこれが私のbuild.gradleです

    apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'

    defaultConfig {
        applicationId "com.user.moviere"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}
repositories {
    mavenCentral()
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // compile project(':facebook')
    compile 'com.Android.support:appcompat-v7:22.0.0'
    compile 'com.facebook.Android:facebook-Android-sdk:4.0.0'
    compile 'com.Android.support:support-v4:22.0.0'
   }
8
linous

わかりました。最初からプロジェクトを作成し、FBSDKを再度インポートしました。しかし、インポートの本当の問題は、Facebook SDK 4がいくつかの関数を変更したことでした。たとえば、そのうちの1つはUiLifecycleHelperであり、もう存在しません。

すべての変更の詳細はこちらです:

https://developers.facebook.com/docs/Android/upgrading-4.x

7
linous

ええ、Facebook SDKの現在のアップデートでは、Sessionが削除されました。現在、AccessToken、LoginManager、およびCallbackManagerクラスが、Sessionクラスの機能に取って代わります。

詳細については、 https://developers.facebook.com/docs/Android/upgrading-4.x にアクセスしてください。

2
Kushagar Lall

Facebookの依存関係を更新します

コンパイル 'com.facebook.Android:facebook-Android-sdk:4.8.0'

マニフェストファイルにアクセス許可が必要

<uses-permission Android:name="Android.permission.INTERNET"/>
    <meta-data
        Android:name="com.facebook.sdk.ApplicationName"
        Android:value="@string/app_name" />
    <meta-data
        Android:name="com.facebook.sdk.ApplicationId"
        Android:value="@string/facebook_app_id" />

    <provider
        Android:name="com.facebook.FacebookContentProvider"
        Android:authorities="com.facebook.app.FacebookContentProvider1854328631556764"
        Android:exported="true" />

その動作

詳細:-

https://developers.facebook.com/docs/Android/upgrading-4.x

1
Keshav Gera