Я пытаюсь создать новое приложение для Android, использующее SDK для Facebook, я использую версии latests для всего, поэтому я использую 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/ без везения, потому что инструкции не предназначены для Android-студии Gradle.
Я также старался следовать инструкциям Скотта Барты в с помощью facebook sdk в студии Android, но не повезло, шаг 7, когда "Sync Project с Gradle Файлы" не работают, я получаю эту ошибку:
Не удалось обновить проект 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 на значения, которые у меня есть в моем проекте, но не работают.
Может ли кто-нибудь мне помочь? Спасибо!
EDIT: я обновил сегодня до 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
Это файл build.gradle, который я использую для компиляции библиотеки Facebook:
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 с Gradle Files, я получаю следующую ошибку:
Gradle 'Testing' project refresh failed:
Project with path ':libraries:facebook' could not be found in project ':app'.
Я попытался изменить путь, используя: "библиотеки: facebook", "app: libraries: facebook", ": app: libraries: facebook"... но у меня всегда такая же ошибка.
ИЗМЕНИТЬ РЕШЕНИЕ:
С Android 0.4.2 и последней версией SDK для Facebook очень просто, SDK для Facebook включает файл build.gradle, который работает, просто выполните следующие действия:
-
Создайте папку с именем "libs" (важно, не используйте другое имя!!! Если вы используете "lib", возможно, не работает), на top вашего проекта (тоже важно, не создавайте в подпапке!!!).
-
Скопируйте папку facebook из загруженного SDK в только что созданную папку libs.
-
Включите эту строку вверху ваших настроек .gradle:
include ': libs: facebook'
-
Включите эту строку в нижней части файла build.gradle в группе зависимостей:
компилировать проект (': libs: facebook')
Просто нажмите "Синхронизировать проект с Gradle файлами", перестройте проект и он должен работать!
РЕДАКТИРОВАНИЕ АНДРОИДНОЙ СТУДИИ > 0.5.2:
Ну, из Android Studio версии 0.5.2, когда создается новый проект, в вашем проекте создается папка "libs", поэтому я думаю, что лучше использовать эту папку, поэтому это следующие шаги:
-
Скопируйте папку facebook из загруженного SDK в папку libs: YourProjectName/yourProjectName/libs
-
Включите эту строку вверху ваших настроек .gradle:
include ': libs: facebook'
-
Включите эту строку в нижней части файла build.gradle в группе зависимостей:
скомпилировать проект (': yourProjectName: libs: facebook')
Просто нажмите "Синхронизировать проект с Gradle файлами", перестройте проект и он должен работать!