在IntelliJ IDEA 12中使用Facebook Android SDK时,似乎没有获得Facebook SDK资源

Clo*_*hen 6 android intellij-idea facebook-android-sdk

根据文章添加facebook SDK到IntelliJ Android项目?,我选择在项目结构的" 依赖关系 "部分中将" 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)
Run Code Online (Sandbox Code Playgroud)

看起来facebook.jar不包含facebook sdk中提供的布局资源本身?不知道我是对还是错.我导入当前项目并通过eclipse构建和运行我的应用程序,它就像一个魅力.一切都完美无瑕.但是,作为IntelliJ IDEA的青睐者,我想寻求是否有人能为此问题提供解决方案.非常感谢.

Clo*_*hen 26

好的,终于得到了facebook android SDK为我工作.以下是我所做的步骤顺序.

  1. 打开并进入当前的android项目,然后选择File|New Module
  2. Library Module在左侧面板上选择" ".
  3. 在右侧面板上填写所需信息.我在这里给出了:
    • Module name:"facebook"
    • Content root:选择下载的facebook android SDK的位置,并确保选择名为"facebook"的子文件夹
      选择facebook子文件夹

    • Module file location:与内容根相同
      IntelliJ IDEA 12中的新模块窗口
    • Package name:com.facebook.android(猜猜可以任意分配?)
  4. 点击finish按钮,wowla~你的项目中有facebook android sdk模块.
  5. 转到File| Project Structure然后选择Modules左侧面板上的页面
    在此输入图像描述
  6. 选择你原来的android项目,单击加号(添加)按钮添加一个新项目Module Dependency,你会看到我们上面创建的facebook模块刚刚显示以供选择.选择它.
  7. 单击"应用","确定"按钮.然后你在你的android应用程序中完美地运行了facebook android SDK.恭喜!!

  • 包**不能**任意命名.它必须是`com.facebook.android`,否则应用程序会抱怨无法导入`com.facebook.android.R`.我相信指定的包名称用于构建在编译期间创建R.java文件的gen /文件夹内的项目结构. (5认同)
  • 用facebook sdk 3.17.2和IntelliJ 13对我不起作用:(为什么facebook sdk不能只是一个.jar? (3认同)