Gradle错误:android工作室不存在包com.facebook

时间:2013-06-18 07:27:47

标签: android facebook android-studio

我再次迷失在我的应用程序的Facebook登录部分。那么发生的事情是我从facebook网站本身下载了facebook SDK然后使用eclipse导出项目用gradle用于android studio。现在在我的主要应用程序在Android的项目结构中我导入了我转换然后在依赖项上的facebook的模块我在我的主应用程序中添加了facebook的模块依赖项。现在我尝试导入facebook包,它在我的MainActivity中运行正常。现在,在我尝试运行之后,会出现错误,请参见屏幕截图:

enter image description here

我尝试使用./gradle清理两个项目,它清理得很好,但我得到了构建部分的错误。我认为在gradle结构中导出facebook项目后出了问题。我该如何解决这个错误?有人遇到过这个吗?

2 个答案:

答案 0 :(得分:7)

为我工作: 将jar文件拖放到项目的库中(单击“确定”以复制等)。 然后右键单击jar文件 - >添加为库。

然后打开gradle.build并更改:

在:

dependencies {
    compile files('libs/android-support-v4.jar')
}

后:

dependencies {
    //compile files('libs/android-support-v4.jar')
    compile fileTree(dir: 'libs', include: '*.jar')
}

答案 1 :(得分:5)

我们几乎在同一时间遇到了完全相同的问题,这就是我在我的案例中解决它的方法。

  1. 将Facebook SDK项目移至某个远程位置。

  2. 在父Gradle项目中创建一个新的Android库模块。它应该为Gradle设置。比如说它叫'Facebook'。检查其Android facet确实是一个库模块。

  3. 将所有必要的源,资源,清单和属性文件添加到适当位置的新模块中。

  4. 修改父项目的settings.gradle文件,使其包含include ':Facebook', ...

  5. 通过打开build.gradle文件并将compile project(':Facebook')添加到依赖项中,将Facebook上的依赖项添加到主项目“Echo”。

  6. Echo和Facebook现在都可能依赖于android支持库;从您的Echo项目中删除此依赖项。例如,compile fileTree(dir: 'libs', include: '*.jar', exclude: 'android-support-v4.jar')。检查Facebook.iml文件,您希望导出的依赖项<orderEntry type="library" exported="" name="android-support-v4" level="project" />

  7. 从父路径运行./gradlew clean && ./gradlew build

  8. 在此清理Android Studio中的依赖项之后,在Android Studio中为您的Echo项目设置绝对apk路径。这可能无法为您解决所有问题,但我认为这些是帮助我的关键步骤,尤其是第4步。一切顺利,您将更接近解决这个问题。

    你可以尝试在某些地方导入Facebook的ant build.xml,然后报告你的情况,但是当我已经解决了这个错误时,我发现我收到了目标重新声明错误。