6

記事によると、FacebookSDKをIntelliJAndroidプロジェクトに追加しますか?、プロジェクト構造の「依存関係」セクションにモジュールとして「 facebook.jar 」ファイルを追加することを選択します。コンパイルプロセスは正常に機能します。ただし、「セッションログイン」を使用してFacebookにログインしようとすると、次のようなランタイムエラーメッセージが表示されます。

02-06 20:15:56.648: ERROR/AndroidRuntime(5891): FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.facebook.android.R$layout
    at com.facebook.LoginActivity.onCreate(LoginActivity.java:55)
    at android.app.Activity.performCreate(Activity.java:4524)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2115)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2189)
    at android.app.ActivityThread.access$600(ActivityThread.java:139)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1261)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:4894)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    at dalvik.system.NativeStart.main(Native Method)

facebook.jarには、facebooksdkで提供されているレイアウトリソース自体が含まれていないようです。私が正しいか間違っているかわからない。私は現在のプロジェクトをインポートし、Eclipseを介してアプリをビルドして実行しますが、それは魅力のように機能します。すべてが完璧に機能します。ただし、IntelliJ IDEAの支持者である私は、この問題の解決策を誰かが提供できるかどうかを探したいと思います。どうもありがとう。

4

4 に答える 4

26

OK、ついにfacebookandroidSDKが機能するようになりました。これが私が行ったステップの順序です。

  1. 開いて現在のAndroidプロジェクトに参加し、[ File| ]を選択します。New Module
  2. Library Module左側のパネルで「」を選択します。
  3. 右側のパネルに必要な情報を入力します。ここで私はちょうど与えました:
    • Module name: "フェイスブック"
    • Content root:ダウンロードしたfacebook android SDKの場所を選択し、必ず「facebook」という名前のサブフォルダーを選択してください
      Facebookサブフォルダーを選択します

    • Module file location:コンテンツルートと同じ
      IntelliJIDEA12の新しいモジュールウィンドウ
    • Package name:com.facebook.android(推測は任意に割り当てることができますか?
  4. ボタンをクリックfinishしてwowla〜プロジェクトにfacebookandroidsdkモジュールを追加しました。
  5. に移動File| Project Structure次にModules、左側のパネルでページを選択します
    ここに画像の説明を入力してください
  6. 元のAndroidプロジェクトを選択し、[プラス(追加)]ボタンをクリックして新しいプロジェクトを追加しModule Dependencyます。上で作成したFacebookモジュールが選択のために表示されます。それを選択します。
  7. [適用、OK]ボタンをクリックします。次に、FacebookAndroidSDKがAndroidアプリケーションで問題なく機能するようになりました。おめでとうございます!
于 2013-02-06T15:40:57.720 に答える
0

私は同じ問題を抱えていましたが、私はEclipseを使用しているので、Eclipseを使用してこの問題を解決するための私の手順:

1-Facebook sdkをワークスペースにインポートした後のEclipseで、FacebookSDkライブラリを右クリックしてプロパティを選択するか、Altキーを押しながらEnterキーを押します2-lethから「javabuildpath」を選択し、[Libraries]タブに移動します

ここに画像の説明を入力してください


3- [外部jarを追加]をクリックし、FacebookのSDKパスまたは場所に移動します。libsフォルダーを選択します。android-support-v4ファイルとboltsファイルを追加します


私はこれが半分になることを願っています

于 2014-05-14T00:43:14.703 に答える
0

クラウドのソリューションは私にはうまくいかなかったので、以下に私の投稿をします。具体的には、すでにappcompatサポートライブラリを使用していたため、機能しませんでした。この場合、これは特に便利です。

APPCOMPAT SUPPORT LIBRARYをすでに使用している場合にのみ、強調表示された手順を実行してください。

  1. File-> Project Structure->をクリックしModulesます。green +->をクリックしImport moduleます。facebookからフォルダを選択し、facebook SDKをクリックしますOK
  2. Create module from existing sources-> Next->を選択しNextます。
  1. をクリックしsplit (the pink/blue button at the top)ます。入力 - >選択-> FacebookDependencies。もう1つ(libs?)のチェックを外します。Namebolts..OK
  1. Next-> Next->をクリックしFinishます。
  1. green +右側をクリックします-> 2. Library->(android-support-v4.jarを含むライブラリ-Libraries 左側のページで確認できます)-> Add Selected

  2. green +右側をクリックします-> 3. Module Dependency-> appcompat-> OK

  1. をクリックしyour moduleます。

  2. green +右側のをクリックします-> 2. Library-> FacebookDependencies(または前の手順3で付けた名前)-> Add Selected

  3. green +右側をクリックします-> 3. Module Dependency-> facebook-> OK

于 2014-10-25T17:58:45.783 に答える
-1

より簡単なアプローチは、FacebookSDKをAndroidアプリのGradleビルドにAARライブラリとしてインポートすることです。そのためには、車輪の再発明を行わず、代わりにfacebook-api-android-aarプロジェクト(https://github.com/mente/facebook-api-android-aarを参照)を使用することをお勧めします。このプロジェクトのドキュメント(README.mdファイル内)で説明されているように、簡単な方法は、アプリケーションのbuild.gradleファイルに次のコードを追加することにより、FacebookSDKのビルド済みのMavenアーティファクトを使用することです。

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:+'
    }
}

repositories {
    mavenCentral()
    mavenLocal()
    maven {
        url "http://mente.github.io/facebook-api-android-aar"
    }
}

apply plugin: 'android'
dependencies {
    compile ('com.facebook:facebook-android-sdk:+@aar') {
        transitive = true
    }

    // other dependecies definition here
}

android {
   //android build setup
} 

それでおしまい。このツールは、Facebook SDKのバージョン3.0.2、3.5.0、3.5.2、3.6.0、3.7.0、3.8.0、3.14.1、3.15.0、3.16をサポートしていることに注意してください。

チャオ

于 2014-07-31T13:15:03.520 に答える