在Android Studio 0.4.2中使用Facebook SDK

 大明白也糊涂 发布于 2023-02-03 10:11

我正在尝试创建一个使用Facebook SDK的新Android应用程序,我正在使用最新版本的所有东西,所以我使用Android Studio 0.4.0和新的Gradle编译系统以及从下载的SDK的最新版本Facebook的.

我试图按照Facebook开发者页面中的说明操作:https: //developers.facebook.com/docs/getting-started/facebook-sdk-for-android-using-android-studio/3.0/但 没有运气,因为说明不适用于基于Gradle的Android Studio.

我也尝试按照Scott Barta在android工作室中使用facebook sdk的说明但没有运气,当"与Gradle文件同步项目"不起作用的第7步时,我收到此错误:

无法刷新Gradle项目.您正在使用旧的,不受支持的Gradle版本.请使用1.9或更高版本.请在项目的Gradle设置或项目的Gradle包装器中指向支持的Gradle版本(如果适用).

我试图修改build.gradle文件并更改类路径行:

classpath 'com.android.tools.build:gradle:0.6.+'

至:

classpath 'com.android.tools.build:gradle:0.7.+'

并且还将compileSdkVersion,buildToolsVersion,minSdkVersion和targetSdkVersion更改为我项目中的值,但不起作用.

谁能帮我?谢谢!

编辑:我今天更新到Android 0.4.2,但新版本没有运气.

我的gradle-wrapper.properties文件正在使用Gradle 1.9:

#Wed Apr 10 15:27:10 PDT 2013
 distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip

这是我用来编译Facebook库的build.gradle文件:

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

apply plugin: 'android-library'

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

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }

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

这是我用于我的应用程序的完整build.gradle:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile project(':libraries:facebook')
}

现在,当我点击带有Gradle文件的同步项目时,我收到以下错误:

Gradle 'Testing' project refresh failed:
Project with path ':libraries:facebook' could not be found in project ':app'.

我试图改变路径使用:"libraries:facebook","app:libraries:facebook",":app:libraries:facebook"......但我总是遇到同样的错误.

编辑解决方案:

使用Android 0.4.2和最新版本的Facebook SDK非常简单,Facebook SDK包含一个有效的build.gradle文件,只需按照以下步骤操作:

创建一个名为"libs"的文件夹(重要的是,不要使用其他名称!!!如果使用"lib"可能无效),在项目的顶部(重要的是,不要在子文件夹中创建!).

将facebook文件夹从下载的SDK复制到刚刚创建的libs文件夹中.

将此行包含在settings.gradle的顶部:

包括':libs:facebook'

在build.gradle文件的底部,在依赖项组中包含此行:

编译项目(':libs:facebook')

只需单击"使用Gradle文件同步项目",重建项目即可使用!

编辑ANDROID STUDIO> 0.5.2:

好吧,从Android Studio版本0.5.2开始,当创建一个新项目时,会在项目中创建一个"libs"文件夹,所以我认为使用该文件夹更好,所以这些步骤如下:

将facebook文件夹从下载的SDK复制到libs文件夹:YourProjectName/yourProjectName/libs

将此行包含在settings.gradle的顶部:

包括':libs:facebook'

在build.gradle文件的底部,在依赖项组中包含此行:

编译项目(':yourProjectName:libs:facebook')

只需单击"使用Gradle文件同步项目",重建项目即可使用!

1 个回答
  • 要添加到其他答案,请将该行添加 include ':libraries:facebook'到settings.gradle中,您将收到新错误

    Gradle 'Android' project refresh failed: Configuration with name 'default' not found.
    

    但是,这就是我们所说的进步.

    EDI:

    好的,现在它正在工作,这正是我所做的. - 我从一开始就把FB SDK放在错误的路径上,我创建了一个与我的应用程序处于同一级别的库文件夹,你不应该,它不会工作. - 由于Android Studio 0.4.+文件夹名称应该是libs而不是库

    在项目的根目录下创建文件夹libs(找到settings.gradle的地方)

    libs文件夹中的Facebook SDK复制Facebook文件夹

    在您的主应用程序包含之前settings.gradle添加include ':libs:Facebook'

    在主应用程序的build.gradle中,在依赖项中添加此行

    compile project(':libs:facebook')
    

    确保Android Support V4也是您的依赖项之一,即:

    compile 'com.android.support:support-v4:18.0.0'
    

    这里还有我的Facebook库的build.gradle

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.7.1'
        }
    }
    
    apply plugin: 'android-library'
    
    dependencies {
        compile 'com.android.support:support-v4:+'
    }
    
    android {
        compileSdkVersion 19
        buildToolsVersion "19.0.0"
    
        defaultConfig {
            minSdkVersion 15
            targetSdkVersion 19
        }
    
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                res.srcDirs = ['res']
            }
        }
    }
    

    现在同步gradle,一切都应该正常,我在Android Studio 0.4.2 + Facebook SDK 3.6.0

    2023-02-03 10:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有