Błąd: (1, 0) Nie znaleziono wtyczki o identyfikatorze „com.android.application”


303

To moja pierwsza próba w Android Studio. Zainstalowałem 0.8.0 i zaktualizowałem do wersji 0.8.2. Po utworzeniu projektu pojawia się komunikat o błędzie:

Błąd: (1, 0) Nie znaleziono wtyczki o identyfikatorze „com.android.application”

C: \ Users \ 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'])
}

i 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
Mam ten problem, ale nagle widzę, że najwyższy poziom build.gradlezostał usunięty :), więc git
kopiuję

Dla mnie to samo: mój build.gradle dla poziomu projektu został przeniesiony do tego samego folderu, co właściwości otoki podczas funky scalania, więc nie znalazł go w katalogu głównym, gdzie powinien być
RESTfulGeoffrey

Odpowiedzi:


446

Zaktualizowana odpowiedź (10 kwietnia 2020 r.)

Ostatni stopień: 6.3

Kontrola wersji:

  • ./gradlew -v

Jak zaktualizować:

  • Ustaw adres URL: ./gradlew wrapper --gradle-version=3.6.2 --distribution-type=all
  • Aktualizacja: ./gradlew wrapper

Najnowsza wtyczka Android Gradle: 3.6.2

Jeśli dodać następujący fragment kodu do szczytu swojego build.gradlepliku. Gradle zaktualizuje narzędzia kompilacji.

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'
    }
}

Przeczytaj więcej tutaj: https://developer.android.com/studio/build/index.html oraz o kompatybilności wersji tutaj: https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle i https://dl.google.com/dl/android/maven2/index.html .

Oryginalna odpowiedź

Miałem ten sam błąd, musisz upewnić się, że Twoja wersja Gradle jest kompatybilna z wtyczką Gradle dla Androida.

Najnowsza wersja Gradle to 2.0, ale musisz użyć 1.12 , aby korzystać z wtyczki Gradle na Androida.


157
+1 za wciąż aktualizującą odpowiedź kilka miesięcy później
P1nGu1n

4
@ P1nGu1n Nie ma problemu! Łatwiej jest, jeśli każdy widzi najbardziej aktualne informacje.
Jared Burrows

4
@MartinPfeffer Nie ma problemu. Będę nadal aktualizować to!
Jared Burrows,

12
Dobra odpowiedź, choć nie mogę się nie zastanawiać, dlaczego Google wdrożyłby Android Studio w ten sposób. Ten błąd jest pierwszą rzeczą, którą widzisz podczas rozpoczynania nowego projektu. To znaczy, co oni sobie myśleli !?
BdR

10
Rozwój Androida ma wiele głupich rzeczy. Dlaczego powinniśmy przejmować się tymi wszystkimi wersjami
stopni

32

Może się to zdarzyć, jeśli przegapisz dodanie pliku kompilacji najwyższego poziomu.

Po prostu dodaj build.gradle do najwyższego poziomu.

To powinno wyglądać tak

// 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
Właśnie to ma.
Jared Burrows,

Co z istniejącą zawartością pliku? Po prostu je usunąć?
Tom Russell

1
Jeśli robisz samouczek classpath 'com.android.tools.build:gradle:3.2.1'classpath 'com.google.gms:google-services:4.0.1'
bazy ogniowej

8

W moim przypadku pobrałem projekt z GitHub i brakowało pliku Gradle. Więc po prostu tworzę nowy projekt z budową sukcesu . Następnie skopiuj i wklej brakujący plik Gradle. I przebudowa projektu działa dla mnie.

wprowadź opis zdjęcia tutaj


to rozwiązało mój problem po kilku godzinach wypróbowywania innych metod
zyz82

3

Plik stopniowy:

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

allprojects {
    repositories {
        jcenter()
    }
}

Plik 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

Znalazłem problem po godzinie zmagania się z tym komunikatem o błędzie:

Przypadkowo zmieniłem nazwę katalogu głównego build.gradlena nazwę pliku builde.gradle, więc Android Studio już go nie rozpoznał.

Zmiana nazwy w celu build.gradlerozwiązania problemu!


2

Piszę to nie jako rozwiązanie przeznaczone dla wielu, ale dla niektórych osób, które mogą popełnić prosty błąd, na przykład podając zły adres URL podczas importowania projektów z SVN . Jest przeznaczony dla tych facetów :)

Zdarzyło mi się to, gdy zaimportowałem projekt z SVN -> automatyczny monit Studio, aby otworzyć projekt -> Poprosił o lokalizację Gradle -> D: \ Software \ Android \ gradle-2.5 -> Następnie błąd.

Ten sam projekt w innej gałęzi SVN działa dobrze z wtyczką Gradle i Gradle, które skonfigurowałem w Studio. Próbowałem zmienić wtyczkę i Gradle Androida Gradle, aby działało w błędnej gałęzi bez powodzenia.

W końcu doszedłem do wniosku, że to mój następujący błąd: próbowałem zaimportować konkretną aplikację samodzielnie zamiast importować aplikację wraz z zależnymi projektami bibliotecznymi. Adres URL, którego użyłem do importu, początkowo miał nazwę porject aplikacji na końcu. Gdy go usunąłem i podałem katalog nadrzędny, który zawierał zarówno projekt aplikacji, jak i projekt zależny, wszystko poszło gładko :)


2

Nadal mam błąd

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

Problem: jcenter () nie miał wymaganych bibliotek

Rozwiązanie: dodaj google () jako repozytorium

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {

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

1

Inne odpowiedzi nie działały dla mnie, wydaje mi się, że dzieje się coś złego między ButterKnife a 3.0.0 alpha5 .

Odkryłem jednak, że kiedy dodałem adnotację do dowolnego zdania, albo BUtterKnife albo 3.0.0 alpha5, działa normalnie.

Dlatego powinieneś po prostu unikać powielania lub konfliktu .


Kiedy dodałem adnotację do jednego zdania, ButterKnife lub 3.0.0 alpha5 , działa normalnie.
Lancer. Jan

Proszę utwórz nowe pytanie, odpowiadając na pytanie tutaj.
ישו אוהב אותך

Pamiętaj, że każda wersja alfa nie jest gotowa do produkcji. Nie wolno używać wersji alfa w kodzie.
ישו אוהב אותך

Przepraszam ... Rozwiązałem to pytanie na moim komputerze, ale nie rozumiem DLACZEGO ....
Lancer.Yan

Może ta niekonwencjonalna metoda pomoże. Z adnotacjami każdy pomoże w Android Studio 3.0.0 alpha5.
Lancer. Jan

1

Sprawdź pisownię, kopalnia była „com.android.a p lication”


1

Do wglądu w przyszłości: dla mnie ten problem był spowodowany wyłącznie tym, że nie uruchomiłem Android Studio jako administrator. Miałem skrót w systemie Windows skonfigurowany tak, aby zawsze działał jako administrator, ale po ponownej instalacji Androida Studio skrót został zastąpiony, więc działał bez uprawnień administratora. Spowodowało to wiele nieprzejrzystych błędów, w tym jeden w tym pytaniu.


0

Korzystałem z IntelliJ IDEA 13.1.5 i napotkałem ten sam problem po zmianie wersji Picassa i modernizacji dependenciesw build.gradlepliku. Próbowałem użyć wielu rozwiązań, ale bez rezultatu. Następnie sklonowałem mój projekt ze zdalnego git (gdzie wypchnąłem go przed zmianą wersji zależności) i zadziałało! Potem właśnie zamknąłem bieżący projekt i ponownie zaimportowałem stary projekt z pliku Gradle do IntelliJ IDEA i również zadziałał! Myślę więc, że to dziwny błąd na skrzyżowaniu wtyczki IDEA, Gradle i Androida. Mam nadzieję, że te informacje mogą być przydatne dla użytkowników IDEA lub kogokolwiek innego.


Czy istnieje techniczna odpowiedź na konkretny przykład kodu?
IgorGanapolsky

0

Zdarzyło mi się to przy użyciu Android Studio 1.3.2 , jednak ponieważ właśnie stworzyłem projekt, usunąłem go i utworzyłem ponownie.
Wygląda na to, że po raz pierwszy nie został poprawnie utworzony przez Android Studio, nawet foldery projektu tam, gdzie oczekiwano.


Wersja Android Studio powinna pasować do wersji wtyczki.
Jared Burrows,

0

Jeśli uruchomisz zadanie modułu z wtyczką Android 1.2.3 w katalogu modułu, pojawi się problem. Spróbuj tego:

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

To polecenie jest bardzo zhackowane, a Gradle 1.2.3 jest bardzo stary.
Jared Burrows,

0

Przejdź do pliku oceny, w którym możesz to zobaczyć:

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
    }
}

I przejdź classpathdo tego:

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
    }
}

Nie. gradle-experimentalJest „eksperymentalny”. To nie ma nic wspólnego z pytaniem.
Jared Burrows

@JaredBurrows Błąd w pytaniu OP może się zdarzyć również przy gradle-experimental. To mi się dzisiaj zdarza. Jednak VladimirKulyk powinien wiedzieć, że korzystanie z gradle-experimental jest zalecane tylko w przypadku kompilacji NDK.
IgorGanapolsky


0

Ten komunikat o błędzie build.gradlepojawia się po wprowadzeniu następującej zmiany na moim najwyższym poziomie w celu zaktualizowania do najnowszej wersji gradle:

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

Głupio dokonałem zmiany, gdy byłem podłączony do wrogiego proxy w miejscu pracy. Serwer proxy spowodował uszkodzenie .jarplików nowej wersji gradle. Można to zweryfikować, sprawdzając słoiki, czy mają nietypowy rozmiar lub czy można je rozpakować.

Aby naprawić błąd, podłączyłem się do mojej sieci w domu (która nie jest za serwerem proxy) i wykonałem zależności odświeżania z terminala:

./gradlew --refresh-dependencies

Spowodowało to ponowne pobranie nowej wersji gradle i błąd już nie występuje.


0

Może się to również zdarzyć, gdy masz zarówno settings.gradlei settings.gradle.ktspliki są obecne w głównym katalogu projektu (ewentualnie z ten sam moduł w zestawie). Powinieneś mieć tylko jeden z tych plików.


Poprawny. Stało się tak, gdy zaimportowałem mój projekt bezpośrednio z build.gradle, znalazłem duplikat pliku Gradle i właściwości
Okikioluwa

0

W pliku build.gradle na poziomie projektu zastąpiłem ten wiersz

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

z tym

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

Po dodaniu obu tych linii i zsynchronizowaniu wszystko stało się dobrze. Mam nadzieję, że to komuś pomoże.


-1

plik build.gradle aplikacji modułu

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

W takim przypadku sprawdź poniższy kod

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

i gradle-wrapper.propertieswewnątrz katalogu projektu sprawdź poniżej disctributionUrl:

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

Jeśli nie są one ze sobą kompatybilne, kończy się ten problem.

Ponieważ com.android.tools.build:gradle:1.5.potrzebujesz wersji co najmniej 2.8, ale jeśli przełączysz się na wyższą wersję, com.android.tools.build:gradle:2.1.0to musisz zaktualizować ocenę do 2.9 i wyżej, możesz to zrobić, zmieniając distributionUrlplik gradle-wrapper.properties na 2.9 lub wyższy, jak poniżej

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

-1

Upewnij się, że poprawnie tworzysz serwer proxy HTTP i https podczas tworzenia aplikacji

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.