【问题标题】:Can't run with Facebook SDK included无法使用包含的 Facebook SDK 运行
【发布时间】:2013-05-11 01:19:28
【问题描述】:

我在尝试使用 IntelliJ IDEA 项目中包含的 Android 版 FacebookSDK 运行我的应用程序时卡住了。

使用基本的 Android 样板,一切都可以正常构建和运行。 但是,一旦我尝试按照this post 中的说明将 Facebook SDK 添加到我的项目中,就会出现多个错误:

java: /Users/me/Projects/Android/facebook/src/com/facebook/widget/LoginButton.java:25: package android.support.v4.app does not exist

java: /Users/me/Projects/Android/facebook/src/com/facebook/widget/LoginButton.java:33:
cannot find symbol
symbol  : class R
location: package com.facebook.android

详细截图:

为什么会这样,我该如何解决?

下载:您可以download the test project here

【问题讨论】:

  • 试一试清理项目并重新启动编辑器。
  • 谢谢,您到底是什么意思?我尝试了“Build > Rebuild Project”并选中了“Settings > Compiler”下的“Clear output directory on rebuild”。
  • 压缩并共享您的项目,以便我们查看配置中的问题。
  • @CrazyCoder 我添加了一个下载简单测试项目的链接。

标签: android intellij-idea facebook-android-sdk


【解决方案1】:

您的项目的问题是 Facebook SDK 模块具有更改的 AndroidManifest.xml 文件,该文件指定了错误的 导致 R.java 文件在不同的包中生成,因此非工作导入。

AndroidManifest.xml文件可在here找到:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.facebook.android">
    <application/>
    <uses-sdk android:minSdkVersion="8" />
</manifest>

See also my answer 关于正确的 android-support-v4.jar 依赖配置。

【讨论】:

  • 完美,非常感谢 :) 你知道为什么AndroidManifest.xml 会被修改(在我的构建过程中)或者我应该如何包含 Facebook SDK?我刚刚发现,当我创建一个空模块时,如here 所述,一切似乎也正常。
  • 如果您在顶部创建一个新模块而不是导入,可能会发生这种情况。
  • 还有其他可能的诊断吗?我有完全相同的错误,但我的清单 xml 文件看起来与这里看到的完全相同。
【解决方案2】:

Android support v4 是 android 支持库。它将一些类向后移植到旧版本的 SDK。您可以在您的 SDK 中的 extras 下找到该 jar。您需要将其包含在您的项目中。

【讨论】:

  • 谢谢,我已将 android-support-v4.jar 添加到我的 facebook 库模块中。这解决了android.support.v4 问题。但是com.facebook.android.R 的问题仍然存在。有什么想法吗?
  • 这似乎是 facebook 项目未构建或未正确链接。不幸的是,我不了解 IntelliJ,所以我无能为力。
  • 我认为从facebook项目导入R是IDE自动导入导致的简单错误。只需删除导入并添加正确的导入(项目的 R)。
猜你喜欢
  • 1970-01-01
  • 2017-04-02
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
  • 1970-01-01
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
相关资源
最近更新 更多