在Android Studio 0.5.1上导入Facebook SDK

时间:2014-03-13 15:10:08

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

我一直在寻找一段时间,并尝试了我能找到的每一个答案都没有成功。我开始相信问题出在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文件做错了。有什么想法吗?

4 个答案:

答案 0 :(得分:24)

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

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

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

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

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

  5. 现在除现有模块外,还应显示facebook模块 Step 5

  6. 单击您的项目,选择Dependencies选项卡,然后单击'+'添加依赖项。 Step 6

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

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

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

  10. 你们都准备好了!

答案 1 :(得分:14)

项目的目录结构与您正在使用的依赖项规范不匹配;它不清楚你的 settings.gradle 中的内容。您收到的错误"配置名称'默认'找不到"非常不直观,但是当Gradle在某个目录中寻找模块并且找不到它时,它就会得到这些信息。如果你有一个依赖规范(和 settings.gradle include),如:libs:facebook,它将在 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')

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

答案 2 :(得分:5)

按照此步骤将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 

答案 3 :(得分:0)

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

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

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

那就是它!