Помилка: (1, 0) Плагін з id 'com.android.application' не знайдено


303

Це моя перша спроба в Android Studio. Я встановив 0.8.0 та оновив до 0.8.2. Як тільки проект створений, я отримую повідомлення про помилку:

Помилка: (1, 0) Плагін з id 'com.android.application' не знайдено

C: \ Користувачі \ Bob \ AndroidStudioProjects \ HelloAgain6 \ app \ 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: \ Користувачі \ 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, але для використання плагіна Android Gradle потрібно використовувати 1,12 .


157
+1 за те, що ви все ще оновлювали свою відповідь через кілька місяців
P1nGu1n

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

4
@MartinPfeffer Немає проблем. Я продовжуватиму оновлювати це!
Джаред Берроуз

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

10
Розробка Android має багато дурних речей. Чому ми повинні турбуватися з усією цією версією gradell
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
Якщо ви робите підручник з Firebase, вам потрібно classpath 'com.android.tools.build:gradle:3.2.1' і classpath 'com.google.gms:google-services:4.0.1'
userqwert

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на ім’я файлу 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 () не мав потрібних libs

Рішення: додайте 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 , воно працює нормально.
Lancer.Ян

Будь ласка, поставте нове запитання замість цього, відповівши тут.
ישו אוהב אותך

Пам'ятайте, що кожен альфа- реліз не готовий до виробництва. Ви не повинні використовувати альфа-версію у своєму коді.
ישו אוהב אותך

Вибачте ... Я вирішив це питання на своєму комп’ютері, але не можу зрозуміти ЧОМУ ....
Lancer.Yan

Можливо, цей нетрадиційний метод допоможе. Повідомлення про будь-який засіб допоможе в Android Studio 3.0.0 alpha5.
Lancer.Ян


1

Для подальшої довідки: Для мене ця проблема була викликана виключно тим, що я не працював Android Studio як адміністратор. У мене був налаштований ярлик в Windows, який завжди запускався адміністратором, але після перевстановлення Android Studio ярлик був замінений, і він працював без прав адміністратора. Це спричинило багато непрозорих помилок, в тому числі і в цьому питанні.


0

Я використовую IntelliJ IDEA 13.1.5 і зіткнувся з тією ж проблемою після того, як я змінив версію Пікассо і Модернізований в 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 Помилка в питанні про ОП може трапитися і з граді-експериментальним. Це відбувається зі мною сьогодні. Однак Володимир Кулик повинен знати, що використовувати граду-експериментальні рекомендується лише для збірок 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

файл модуля app 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тоді вам потрібно оновити градус до рівня 2,9 і вище, це можна зробити, змінивши distributionUrlв gradle-wrapper.properties на 2,9 або вище, як нижче

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

-1

Просто переконайтеся, що ви правильно розмістили http та https проксі під час створення програми

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.