【问题标题】:Import Facebook SDK on Android Studio 0.5.1在 Android Studio 0.5.1 上导入 Facebook SDK
【发布时间】:2014-03-13 15:10:08
【问题描述】:

我已经搜索了一段时间,并尝试了所有我能找到的答案,但没有成功。我开始相信问题出在 android studio 版本中。

但是这是我所做的:

1 - 我已经下载了 facebook sdk

2 - 将 sdk 复制到我的 libs 文件夹中,因此项目看起来像 以下:

 MyProj
 -app
 --libs
 ---facebook
 ----build.gradle (2)
 --build.gradle (1)
 -settings.gradle

3 - 我修改了 settings.gradle:

include ':libs:facebook', ':app'

4 - 我将 build.gradle (1) 修改为:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }


    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'me.dm7.barcodescanner:zxing:1.0'
    compile 'com.koushikdutta.ion:ion:1.2.4'
    compile 'com.google.code.gson:gson:2.2.+'
    compile 'com.squareup.picasso:picasso:2.1.1'
    compile project(':libs:facebook');
}

5 - 最后编辑的 build.gradle (2):

 buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.9.+'
        }
    }

apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:+'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 19
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
}

现在同步时我收到烦人的警告: Gradle 'MyApp' 项目刷新失败: 未找到名称为“默认”的配置

而且我无法使用 facebook 库。

我想我对 gradle 文件做错了什么。有什么想法吗?

【问题讨论】:

  • 我认为这取决于您使用的 facebook sdk 版本。我下载的那个,已经有一个看起来不同的 gradle 文件。我在stackoverflow上找到的那个我不记得在哪里。它对我有用。

标签: android facebook include android-gradle-plugin android-facebook


【解决方案1】:

在装有 Android Studio 0.5.8 的 Mac 上,这对我有用:

  1. 点击顶层项目,选择项目结构:

  2. 单击 + 添加另一个模块

  3. 点击“导入现有项目”和“下一步”

  4. 从您的 SDK 文件夹中选择 facebook 目录,然后单击下一步

  5. 除了现有模块之外,现在应该显示 facebook 模块

  6. 单击您的项目,选择依赖项选项卡并单击“+”以添加依赖项。

  7. 选择“模块依赖”作为依赖类型。

  8. 选择我们刚刚添加的 Facebook 模块

  9. 请注意,它显示在(您的应用程序的)依赖项下

一切就绪!

【讨论】:

  • 不幸的是,这对我不起作用:(在第 5 步,当我选择 Facebook 文件夹时,它什么也没做,它仍然显示“选择要导入的模块”。当我选择父文件夹(facebook-android-sdk-3.14),它给了我所有要导入的模块。然后我选择“Facebook”模块,单击完成,但是我只得到一个 gradle 同步并且模块没有显示在任何地方。 ..这里也使用0.5.8,你知道我做错了什么吗?
  • 很好的答案!解决了我们的问题。谢谢!
  • 别忘了添加 bolts.jas 作为你的库!
  • 这是最好的解决方案
【解决方案2】:

您项目的目录结构与您使用的依赖规范不匹配;不清楚您的 settings.gradle 中有什么。 “找不到配置名称'默认'”的错误非常不直观,但这是当 Gradle 在某个目录中查找模块但没有找到它时收到的消息。如果您有像 :libs:facebook 这样的依赖项规范(和 settings.gradle 包含),它将在 MyProj/libs/facebook 中查找,而不是在 MyProj/app/ libs/facebook 你放置它的地方。

我会推荐这种结构:

MyProj
 -app
 --build.gradle (1)
 -libs
 --facebook
 ---build.gradle (2)
 -settings.gradle

即将 libs 目录上移一级,使其位于 app 目录旁边,而不是在其下方。

您的 settings.gradle 文件应该是:

include ':app', ':libs:facebook'

(这可能是您已经设置的方式)和对 facebook 的依赖应该如下所示:

compile project(':libs:facebook')

(也像你已经设置的那样)

【讨论】:

  • 感谢您的帮助!只是为了澄清一下,如果我保持结构不变,我应该添加 compile project(':app:libs:facebook') 吗?
  • 是的,你在 settings.gradle 中的 include 也需要这样。
  • 可以将 Facebook SDK 包含为 Gradle 依赖项,请查看此答案:stackoverflow.com/a/23746667/1891118
  • 如果 facebook 应该与应用程序处于同一级别,为什么它是 :libs:facebook" 而不是 ":facebook"?我按照这些说明操作,android studio 抱怨它找不到另一个 facebook facebook 示例“ProfilePictureSample”与应用程序处于同一级别。建议?
  • 我的文本是正确的,但是我的 ASCII-art 目录结构是错误的。我修好了。
【解决方案3】:

按照此步骤将 Facebook SDK 添加到您的 Android 项目。

1) Open your fresh Android project 
2) Go to File -> Project Structure (or) Alt+Ctrl+Shift+S
3) Go to module click + on second row of window then import module
4) After Facebook SDK imported click + on third row and select Module Dependency select Facebook SDK Apply and press ok 

【讨论】:

  • 这似乎不适用于 android studio 0.5.1。没有导入模块。但是,第一个答案对我有用!还是谢谢你。
  • 点击“导入现有项目”,项目将作为模块导入
【解决方案4】:

我从零开始制作了一个 Facebook 模块版本https://github.com/cesarferreira/Facebook-Module

如果您想将此模块用于您的项目,您应该按照以下步骤操作:

  • 您应该在项目根目录中创建一个新的“libs”文件夹
  • 您应该将此项目复制到“libs”文件夹中,您必须手动复制该项目,因为如果您使用拖放操作复制它,该项目将无法正常工作,因为 android studio 会抛出错误
  • 在 settings.gradle 文件中添加下一行:include ':libs:facebook'
  • 您应该重建项目

就是这样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多