Ошибка: (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, оно работает нормально.

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

Lancer.Yan
источник
Когда я комментировал одно предложение, ButterKnife или 3.0.0 alpha5 , оно работало нормально.
Лансер. Ян
Пожалуйста, задайте новый вопрос, вместо этого отвечая здесь с вопросом.
ישו
Помните, что каждый альфа- релиз не готов к производству. Вы не должны использовать альфа-версию в своем коде.
ישו
Извините ... Я решил этот вопрос на своем компьютере, но не могу понять ПОЧЕМУ ...
Лансер. Ян
Может быть, этот нетрадиционный метод поможет. Аннотированный любой поможет в Android Studio 3.0.0 alpha5.
Лансер. Ян
1

Проверка орфографии, шахта была «com.android.a р заревым»

Крекер
источник
1

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

Wouter Florijn
источник
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 и settings.gradle находятся в правильных каталогах, как указано в https://developer.android.com/studio/build/index.html

Затем откройте «как существующий проект» в Visual Studio

Gradle очень привередлив в этом.

Том Чалкер
источник
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'

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

codersaif
источник
-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()
    }
}
Mansuu ....
источник
-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
maruti060385
источник
-1

Просто убедитесь, что вы правильно указали http и https прокси при создании приложения.

Диого Миранда
источник