Ошибка 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, и у меня тоже была эта проблема) . Наконец я нашел этот очень простой способ.

  1. Создайте папку libs в src / main / java / это приложение / java / libs на левой панели.
  2. Скопируйте и вставьте сюда все свои внешние банки.
  3. Перейдите на левую панель и щелкните правой кнопкой мыши свое приложение, затем нажмите Открыть настройки модуля.
  4. Затем появится окно "Структура проекта".
  5. Затем перейдите на вкладку Зависимости. Заключительный шаг: добавьте все ваши jar-файлы, расположенные в App/java/libs (вы найдете их в src/main/java/libs) по одному.

Это все Наслаждайся этим.

Объявите зависимости в файле build.gradle модуля, а не в файле build.gradle AlexTest

введите описание изображения здесь

Другие вопросы по тегам