【发布时间】:2014-01-13 22:32:29
【问题描述】:
我正在尝试创建一个使用 Facebook SDK 的新 Android 应用程序,我对所有内容都使用最新版本,因此我正在使用带有新 Gradle 编译系统和最新版本的 Android Studio 0.4.0从 Facebook 下载的 SDK。
我已尝试按照 Facebook 开发者页面中的说明进行操作: https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android-using-android-studio/3.0/ 没有运气,因为这些说明不适用于基于 Gradle 的 Android Studio。
我也尝试按照 Scott Barta 在using facebook sdk in android studio 中的说明进行操作,但没有运气,当“使用 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')
}
现在,当我单击 Sync Project with Gradle Files 时,我收到以下错误:
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 文件,只需按照以下步骤操作:
在顶部 (也很重要,不要在子文件夹中创建!!!)。
将下载的 SDK 中的 facebook 文件夹复制到刚刚创建的 libs 文件夹中。
-
在您的 settings.gradle 顶部包含这一行:
包括':libs:facebook'
-
将此行包含在 build.gradle 文件底部的依赖项组中:
编译项目(':libs:facebook')
只需点击“Sync Project with Gradle files”,重建项目,它应该可以工作了!
为 ANDROID STUDIO 编辑 > 0.5.2:
好吧,从 Android Studio 版本 0.5.2 开始,当创建一个新项目时,会在您的项目中创建一个“libs”文件夹,所以我认为使用该文件夹是一个更好的主意,所以这些是步骤:
将下载的 SDK 中的 facebook 文件夹复制到 libs 文件夹中:YourProjectName/yourProjectName/libs
-
在您的 settings.gradle 顶部包含这一行:
包括':libs:facebook'
-
将此行包含在 build.gradle 文件底部的依赖项组中:
编译项目(':yourProjectName:libs:facebook')
只需点击“Sync Project with Gradle files”,重建项目,它应该可以工作了!
【问题讨论】:
标签: android-studio facebook-android-sdk