Ошибка: (1, 0) Плагин с идентификатором com.android.application не найден


303

Это моя первая попытка в Android Studio. Я установил 0.8.0 и обновил до 0.8.2. Как только проект создан, я получаю сообщение об ошибке:

Ошибка: (1, 0) Плагин с идентификатором com.android.application не найден

C: \ Users \ Bob \ AndroidStudioProjects \ HelloAgain6 \ приложение \ build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.example.bob.helloagain6"
        minSdkVersion 15
        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'])
}

и C: \ Users \ Bob \ AndroidStudioProjects \ HelloAgain6 \ build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

2
У меня возникла эта проблема, но вдруг я вижу, что верхний уровень build.gradleбыл удален :), поэтому я git
копирую

То же самое для меня, мой build.gradle для уровня проекта был перемещен в ту же папку, что и свойства оболочки, во время слияния в стиле фанк, поэтому он не нашел его в корне, где он должен быть
RESTfulGeoffrey

Ответы:


446

Обновленный ответ (10 апреля 2020 г.)

Последний Gradle: 6,3

Проверка версии:

  • ./gradlew -v

Как обновить:

  • Установить URL: ./gradlew wrapper --gradle-version=3.6.2 --distribution-type=all
  • Обновить: ./gradlew wrapper

Последний плагин для Android Gradle: 3.6.2

Если вы добавите следующий фрагмент кода в начало вашего build.gradleфайла. Gradle обновит инструменты сборки.

buildscript {
    repositories {
        google() // For Gradle 4.0+
        maven { url 'https://maven.google.com' } // For Gradle < 4.0
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.2'
    }
}

Подробнее читайте здесь: https://developer.android.com/studio/build/index.html и о совместимости версий здесь: https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle и https://dl.google.com/dl/android/maven2/index.html .

Оригинальный ответ

У меня была такая же ошибка, вам нужно убедиться, что ваша версия Gradle совместима с вашим плагином Android Gradle.

Последняя версия Gradle - 2.0, но вам нужно использовать 1.12 , чтобы использовать Android Gradle Plugin.


157
+1 для обновления вашего ответа через несколько месяцев
P1nGu1n

4
@ P1nGu1n Нет проблем! Это проще, если каждый видит самую актуальную информацию.
Джаред Берроуз,

4
@MartinPfeffer Нет проблем. Я буду продолжать держать это в курсе!
Джаред Берроуз

12
Хороший ответ, хотя я не могу не задаться вопросом, почему Google развернул Android Studio следующим образом. Эта ошибка - первое, что вы видите при запуске нового проекта. Я имею в виду, о чем они думали !?
BdR

10
Разработка Android имеет много глупостей. Почему мы должны быть обеспокоены всеми этими отличными версиями
user25

32

Это может произойти, если вы пропустите добавление файла сборки верхнего уровня.

Просто добавьте build.gradle на верхний уровень.

Это должно выглядеть так

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.xx.y'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}


2
Это именно то, что он имеет.
Джаред Берроуз

Как насчет существующего содержимого файла? Просто удалить их?
Том Рассел

1
Если вы делаете учебник по classpath 'com.android.tools.build:gradle:3.2.1'classpath 'com.google.gms:google-services:4.0.1'
Firebase, который

8

В моем случае я загружаю проект с GitHub и отсутствует файл Gradle. Поэтому я просто создаю новый проект с успешной сборкой . Затем скопируйте и вставьте отсутствующий файл Gradle. И заново построить проект работает на меня.

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


это решило мою проблему после нескольких часов попыток других методов
zyz82

3

Корневой файл:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:x.x.x'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

Файл Gradle-wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-x.x-all.zip

3

Я нашел проблему после одного часа, пытаясь с этим сообщением об ошибке:

Я случайно переименовал корень build.gradleв filename builde.gradle, поэтому Android Studio его больше не распознала.

Переименование, чтобы build.gradleрешить проблему!


2

Я пишу это не как решение, предназначенное для многих, но для некоторых людей, которые могут совершить простую ошибку, такую ​​как указание неверного URL для импорта проектов из SVN . Он предназначен для тех парней :)

Это случилось со мной, когда я импортировал проект из SVN -> автоматический запрос Studio на открытие проекта -> Он запросил местоположение Gradle -> D: \ Software \ Android \ gradle-2.5 -> Тогда ошибка.

Тот же проект в другой ветке SVN прекрасно работает с плагином Gradle и Gradle, которые я настроил в Studio. Я попытался изменить плагин Android Gradle и Gradle, чтобы он работал на ветке с ошибками, но безуспешно.

Наконец, я понял, что это была моя следующая ошибка: я попытался импортировать только одно конкретное приложение, а не импортировать приложение вместе с зависимыми проектами библиотеки. У URL, который я использовал для импорта, изначально было имя объекта приложения в конце. Как только я удалил его и указал родительский каталог, который содержал и проект приложения, и его зависимый проект, все прошло гладко :)


2

Я все еще получил ошибку

 Could not find com.android.tools.build:gradle:3.0.0.

Проблема: у jcenter () не было необходимых библиотек

Решение: добавить Google () в качестве репо

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {

        classpath "com.android.tools.build:gradle:3.0.0"
    }
}

1

Другие ответы у меня не сработали, наверное, между ButterKnife что-то не так и 3.0.0 alpha5 .

Тем не менее, я обнаружил, что когда я комментировал одно предложение, BUtterKnife или 3.0.0 alpha5, оно работает нормально.

Таким образом, вы должны просто избегать дублирования или конфликта .


Когда я комментировал одно предложение, ButterKnife или 3.0.0 alpha5 , оно работало нормально.
Лансер. Ян

Пожалуйста, задайте новый вопрос, вместо этого отвечая здесь с вопросом.
ישו

Помните, что каждый альфа- релиз не готов к производству. Вы не должны использовать альфа-версию в своем коде.
ישו

Извините ... Я решил этот вопрос на своем компьютере, но не могу понять ПОЧЕМУ ...
Лансер. Ян

Может быть, этот нетрадиционный метод поможет. Аннотированный любой поможет в Android Studio 3.0.0 alpha5.
Лансер. Ян


1

Для дальнейшего использования: для меня эта проблема была вызвана исключительно тем, что я не запускал Android Studio в качестве администратора. Я настроил ярлык на Windows, чтобы он всегда работал от имени администратора, но после переустановки Android Studio ярлык был заменен, и он работал без прав администратора. Это вызвало множество непрозрачных ошибок, в том числе в этом вопросе.


0

Я использовал IntelliJ IDEA 13.1.5 и столкнулся с той же проблемой после изменения версий Picasso и Retrofit dependenciesв build.gradleфайле. Я пытался использовать много решений, но безрезультатно. Затем я клонировал свой проект из удаленного git (куда я его сдвинул, прежде чем менять версии зависимостей), и он заработал! После этого я просто закрыл текущий проект и снова импортировал старый проект из файла Gradle в IntelliJ IDEA, и это тоже сработало! Итак, я думаю, что это была странная ошибка в пересечении IDEA, Gradle и плагина Android. Я надеюсь, что эта информация может быть полезна для пользователей IDEA или кого-либо еще.


Есть ли технический ответ, который вы можете дать с конкретным примером кода?
Игорь Ганапольский

0

Это случилось со мной в Android Studio 1.3.2 , однако, так как я только что создал проект, я удалил его и создал его снова.
Кажется, что он не был должным образом создан Android Studio с первого раза, даже папок проекта, где, как и ожидалось.


Версия Android Studio должна соответствовать версии плагина.
Джаред Берроуз

0

Если вы запустите задачу модуля с плагином android 1.2.3 в каталоге модуля, проблема появится. Попробуй это:

../gradlew -b ../build.gradle  -c ../settings.gradle  :module:xxx

Эта команда очень хакерская, а Gradle 1.2.3 очень старый.
Джаред Берроуз

0

Перейдите в свой файл оценок, где вы можете увидеть это:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

И изменить classpathна это:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
//        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.android.tools.build:gradle-experimental:0.7.0-alpha1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

gradle-experimental"экспериментальный". Это не имеет ничего общего с вопросом.
Джаред Берроуз,

@JaredBurrows Ошибка в вопросе OP может произойти и с gradle-экспериментальным. Это происходит со мной сегодня. Однако Владимир Кулик должен знать, что использование gradle-экспериментального рекомендуется только для сборок NDK.
Игорь Ганапольский


0

Я получил это сообщение об ошибке после внесения следующих изменений в мой верхний уровень build.gradleдля обновления до последней версии gradle:

//classpath 'com.android.tools.build:gradle:2.3.2' old
classpath 'com.android.tools.build:gradle:2.3.3' //new

Я по глупости внес изменения, когда был подключен за враждебным прокси на рабочем месте. Прокси стал причиной .jarповреждения файлов новой версии gradle. Это можно проверить, осмотрев банки, чтобы узнать, имеют ли они необычный размер или можно ли их разархивировать.

Чтобы исправить ошибку, я подключился к своей сети дома (которая не находится за прокси-сервером) и обновил зависимости от терминала:

./gradlew --refresh-dependencies

Это привело к повторной загрузке более новой версии gradle, и ошибка больше не возникает.


0

Это также может произойти, когда у вас есть оба файла settings.gradleи settings.gradle.ktsфайлы находятся в корневом каталоге проекта (возможно, с тем же модулем в комплекте). У вас должен быть только один из этих файлов.


Верный. Это случилось со мной, когда я импортировал свой проект напрямую с build.gradle, нашел дубликат Gradle и файл свойств
Okikioluwa

0

В файле build.gradle уровня проекта я заменил эту строку

classpath 'com.android.tools.build:gradle:3.6.3'

с этим

classpath 'com.google.gms:google-services:4.3.3'

После добавления обеих этих строк и синхронизации все стало хорошо. Надеюсь, это кому-нибудь поможет.


-1

модуль приложения build.gradle файл

apply plugin: 'com.android.application'

model{


    android {
        compileSdkVersion 23
        buildToolsVersion  "23.0.2"

        defaultConfig.with {
            applicationId "com.iamsafe"
            minSdkVersion 15
            targetSdkVersion 23





        }
     buildTypes {
            debug {
                minifyEnabled = false
                useProguard = true
                proguardFiles.add(file('proguard-rules.txt'))


            }
        }



    }

}



dependencies {
    compile 'com.android.support:support-v4:23.0.2'
    compile files('libs/asmack-android-8-0.8.10.jar')
    compile files('libs/commons-io-2.0.1.jar')
    compile files('libs/httpclient-osgi-4.2.1-sources.jar')
    compile files('libs/httpcore-4.3.2.jar')
    compile files('libs/httpmime-4.1.2.jar')
}


project build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.10'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

-1

В этом случае проблем проверьте ниже код

dependencies {
    classpath 'com.android.tools.build:gradle:**1.5.0**'
}

и gradle-wrapper.propertiesвнутри вашего каталога проекта проверьте ниже disctributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip

Если они не совместимы друг с другом, вы попадаете в эту проблему.

Для com.android.tools.build:gradle:1.5.вас нужна версия не ниже 2.8, но если вы переходите на более высокую версию, как, например, com.android.tools.build:gradle:2.1.0вам нужно обновить свой gradle до 2.9 и выше, это можно сделать, изменив distributionUrlв gradle-wrapper.properties значение 2.9 или выше, как показано ниже

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.