Idę poprzez dokumentacji Google „Dodaj Google Play do projektu” w Android Studio: https://developer.android.com/google/play-services/setup.htmlZnaleziono nieobsługiwaną metodę DSL programu Gradle: "compile()"!
Używam że dokumentacja zmodyfikować plik build.gradle świeżo utworzonego projektu Android. W kroku 2 (Add Usługi Google Play do projektu), stwierdza:
Dodaj tę linię:
apply plugin: 'android'
Under zależności, dodać to:
compile 'com.google.android.gms:play-services:5.0.77'
mówi również zaktualizować że wersja po aktualizacji Usług Google Play, która ma teraz 18 lat zgodnie z Menedżerem Android SDK.
Oto mój cały plik build.gradle na najwyższym poziomie (rodzicem tego pliku jest folder główny).
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply plugin: 'android'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
compile 'com.google.android.gms:play-services:18'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
Po zapisaniu wyświetla monit o synchronizację. Synchronizuję to, ale otrzymuję:
Build script error, unsupported Gradle DSL method found: 'compile()'!
Error:(10, 0) Possible causes could be:
- you are using a Gradle version where the method is absent
- you didn't apply Gradle plugin which provides the method
- or there is a mistake in a build script
Używam Androida Studio 0.8.2. Nie zainstalowałem Gradle, tylko używając wtyczki dostarczonej z Androidem Studio.
To ciekawe, że plik build.gradle generowane gdy zrobiłem ten nowy projekt mówi:
//NOTE: Do not place your application dependencies here
Ale dokumentacja Google mówi (co stoi w sprzeczności z wyżej):
Note: Android Studio projects contain a top-level build.gradle file and a build.gradle
file for each module. Be sure to edit the file for your application module.
Co źle z moim plikiem build.gradle (lub środowiskiem)?
Nie umieszczaj zależności w bloku allprojects, chyba że naprawdę zamierzasz zastosować je do każdego modułu w projekcie, czego prawie na pewno nie masz. Umieść go w osobnych plikach budujących moduł. –
Nie jestem pewien, czy ten słoik usług odtwarzania ma sens dla wszystkich modułów jako typowa zależność. Jeśli nie, masz rację, powinien przejść do submodułów. – JBaruch