Ошибка gradle для Android:(9, 0) Метод Gradle DSL не найден: 'compile()'.
Я получаю следующую ошибку сборки при попытке синхронизировать проект:
Error:(9, 0) Gradle DSL method not found: 'compile()'
Possible causes:The project 'AlexTest' may be using a version of Gradle that does not contain the method.
The build file may be missing a Gradle plugin.
link: Apply Gradle plugin
Я попытался применить каждый отдельный плагин Gradle, на который они ссылаются, в той ссылке внизу, но это та же проблема, поэтому я пришел к выводу, что причина - первая ошибка.
Вот файл build.gradle для AlexTest (каталог проекта):
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.13.2'
compile 'com.google.android.gms:play-services:6.1.11'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
Я думаю, что это был файл, с которым у него были проблемы. Но я не уверен, на какой метод он ссылается.
Также вот свойства gradle-wrapper.properties, на которые он также ссылался:
#Mon Nov 10 01:06:12 PST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip
возможно, версия gradle в distributionUrl должна соответствовать версии в зависимости?
У меня также есть файл build.gradle в самой директории приложения - на 1 уровень ниже, хотя я не думаю, что это то, на что он ссылался, но вот он:
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.snappiesticker.alextest"
minSdkVersion 16
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:6.1.+'
}
5 ответов
Я попытался применить каждый отдельный плагин Gradle, на который они ссылаются, в той ссылке внизу, но это та же проблема, поэтому я пришел к выводу, что причина - первая ошибка.
Правильный.
Вот файл build.gradle для AlexTest (каталог проекта):
Вы заметите, что этот файл содержит комментарий кода:
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Удалить compile 'com.google.android.gms:play-services:6.1.11'
строка из этого файла. Оставь compile 'com.google.android.gms:play-services:6.1.+'
что у вас есть в другом build.gradle
файл.
dependencies
закрытие в buildscript
только для плагинов Gradle. Верхний уровень dependencies
закрытие, найденное в модуле build.gradle
файл, для зависимостей приложения.
Видел сообщения, что проблема возникла по другим причинам, но это решило для меня.
Если вы внесете какие-либо изменения в Структуру проекта (Android Studio) и нажмете ОК, Gradle будет синхронизирован, но это тип синхронизации, если блок зависимостей имеет что-то вроде:
Этот блок останется таким после синхронизации:
Один из способов решения этой проблемы - вставить разрыв строки, чтобы она оставалась такой же, как до синхронизации, или поставить точку с запятой между двумя операторами.
Я надеюсь, что это помогает.
Просто добавьте следующее заявление в ваши зависимости
применить плагин: "причал"
Привет всем, для меня это была "работа, занимающая пару дней", чтобы мое приложение работало в Android Studio (я перешел с Eclipse, и у меня тоже была эта проблема) . Наконец я нашел этот очень простой способ.
- Создайте папку libs в src / main / java / это приложение / java / libs на левой панели.
- Скопируйте и вставьте сюда все свои внешние банки.
- Перейдите на левую панель и щелкните правой кнопкой мыши свое приложение, затем нажмите Открыть настройки модуля.
- Затем появится окно "Структура проекта".
- Затем перейдите на вкладку Зависимости. Заключительный шаг: добавьте все ваши jar-файлы, расположенные в App/java/libs (вы найдете их в src/main/java/libs) по одному.
Это все Наслаждайся этим.