Erro: (1, 0) Plug-in com o ID 'com.android.application' não encontrado


303

Esta é minha primeira tentativa no Android Studio. Instalei o 0.8.0 e atualizei para 0.8.2. Assim que um projeto é criado, recebo a mensagem de erro:

Erro: (1, 0) Plug-in com o ID 'com.android.application' não encontrado

C: \ Usuários \ 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'])
}

e C: \ Usuários \ 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
Eu tenho esse problema, mas de repente eu vejo o nível superior build.gradlefoi eliminada :), então eu copiá-lo do gitrepositório e cada coisas vai para a direita
Mehdi Khademloo

A mesma coisa para mim, meu build.gradle para o nível do projeto foi movido para a mesma pasta que as propriedades do wrapper durante uma mesclagem descolada, por isso não foi encontrado na raiz onde deveria estar
RESTfulGeoffrey

Respostas:


446

Resposta atualizada (10 de abril de 2020)

Classificação mais recente: 6.3

Verificação de versão:

  • ./gradlew -v

Como atualizar:

  • Definir URL: ./gradlew wrapper --gradle-version=3.6.2 --distribution-type=all
  • Atualizar: ./gradlew wrapper

Plugin Android Gradle mais recente: 3.6.2

Se você adicionar o seguinte snippet de código na parte superior do seu build.gradlearquivo. Gradle atualizará as ferramentas de construção.

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

Leia mais aqui: https://developer.android.com/studio/build/index.html e sobre a compatibilidade de versões aqui: https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle e https://dl.google.com/dl/android/maven2/index.html .

Resposta original

Eu tive esse mesmo erro, você precisa se certificar de que sua versão do Gradle é compatível com o plug-in do Android Gradle.

A versão mais recente do Gradle é 2.0, mas você precisa usar a 1.12 para usar o Android Gradle Plugin.


157
+1 para ainda atualizar a sua resposta, alguns meses depois
P1nGu1n

4
@ P1nGu1n Sem problemas! É mais fácil se todos virem as informações mais atualizadas.
Jared Burrows

4
@MartinPfeffer Sem problemas. Vou continuar mantendo isso atualizado!
Jared Burrows

12
Boa resposta, apesar de não poder deixar de me perguntar por que o Google implantaria o Android Studio assim. Esse erro é a primeira coisa que você vê ao iniciar um novo projeto. Quero dizer, o que eles estavam pensando !?
BdR 27/03

10
O desenvolvimento do Android tem muitas coisas estúpidas. Por que devemos ser incomodado com toda essa coisa versões Gradle
USER25

32

Isso pode acontecer se você deixar de adicionar o arquivo de compilação de nível superior.

Basta adicionar build.gradle ao nível superior.

Deve ficar assim

// 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
Isso é exatamente o que ele tem.
Jared Burrows

E o conteúdo existente do arquivo? Apenas exclua-os?
8338 Tom Russell

1
Se você estiver fazendo o tutorial do classpath 'com.android.tools.build:gradle:3.2.1'classpath 'com.google.gms:google-services:4.0.1'
firebase

8

No meu caso, eu baixo o projeto do GitHub e o arquivo Gradle estava ausente. Então, acabei de criar um novo projeto com sucesso . Em seguida, copie e cole o arquivo ausente Gradle. E recriar o projeto está funcionando para mim.

insira a descrição da imagem aqui


isso resolveu o meu problema depois de várias horas de tentar outros métodos
zyz82

3

Arquivo raiz-gradle:

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

allprojects {
    repositories {
        jcenter()
    }
}

Arquivo 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

Encontrei o problema após uma hora lutando com esta mensagem de erro:

Renomeei acidentalmente a raiz build.gradlepara nome do arquivo builde.gradle, para que o Android Studio não a reconhecesse mais.

Renomeá- lo para build.gradleresolver o problema!


2

Estou escrevendo isso não como uma solução destinada a muitos, mas a algumas pessoas que podem cometer um erro simples, como especificar o URL errado para importar projetos do SVN . Destina-se a esses caras :)

Isso aconteceu comigo quando eu importei o projeto do SVN -> prompt automático do Studio para abrir o projeto -> Ele solicitou a localização de Gradle -> D: \ Software \ Android \ gradle-2.5 -> Em seguida, o erro.

O mesmo projeto em um ramo SVN diferente funciona bem com o plug-in Gradle e o Gradle que eu configurei no Studio. Tentei alterar o plug-in Android Gradle e o Gradle para fazê-lo funcionar no ramo incorreto sem sucesso.

Por fim, descobri que era o meu seguinte erro: tentei importar um aplicativo específico sozinho, em vez de importá-lo junto com projetos de bibliotecas dependentes. O URL que eu usei para importação tinha inicialmente o nome do objeto do aplicativo no final. Depois que eu o removi e especifiquei o diretório pai que continha o projeto do aplicativo e o projeto dependente, tudo correu bem :)


2

Eu ainda tenho o erro

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

Problema: jcenter () não tinha as bibliotecas necessárias

Solução: adicione google () como repositório

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {

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

1

As outras respostas não funcionaram para mim, acho que algo de errado acontece entre o ButterKnife e o 3.0.0 alpha5 .

No entanto, descobri que, quando anotei qualquer frase, BUtterKnife ou 3.0.0 alpha5, ela funciona normalmente.

Portanto, você deve apenas evitar a duplicação ou conflito .


Quando eu anotei qualquer frase, ButterKnife ou 3.0.0 alpha5 , ela funciona normalmente.
Lancer.Yan

Faça uma nova pergunta, em vez de responder aqui com uma pergunta.
ישו אוהב אותך

Lembre-se de que toda versão alfa não está pronta para produção. Você não deve usar a versão alfa no seu código.
ישו אוהב אותך

Desculpe ... I resolvido esta questão no meu computador, mas eu não consigo entender por ....
Lancer.Yan

Talvez esse método não convencional ajude. Anotado qualquer um ajuda no Android Studio 3.0.0 alpha5.
Lancer.Yan

1

Verifique a ortografia, a minha era 'com.android.a p lication'


1

Para referência futura: para mim, esse problema foi causado exclusivamente pelo fato de eu não estar executando o Android Studio como administrador. Eu tinha o atalho no Windows configurado para sempre executar como administrador, mas depois de reinstalar o Android Studio, o atalho foi substituído e, portanto, foi executado sem direitos de administrador. Isso causou muitos erros opacos, incluindo o desta pergunta.


0

Eu estava usando o IntelliJ IDEA 13.1.5 e enfrentei o mesmo problema depois de alterar as versões do Picasso e Retrofit dependenciesno build.gradlearquivo. Eu tentei usar muitas soluções, mas sem resultado. Então eu clonei meu projeto do git remoto (onde o empurrei antes de alterar as versões das dependências) e funcionou! Depois disso, fechei o projeto atual e importei o projeto antigo do arquivo Gradle para o IntelliJ IDEA novamente e funcionou também! Então, acho que foi um bug estranho na interseção do plugin IDEA, Gradle e Android. Espero que esta informação possa ser útil para usuários da IDEA ou qualquer outra pessoa.


Existe uma resposta técnica que você pode dar com um exemplo de código específico?
IgorGanapolsky

0

Isso aconteceu comigo usando o Android Studio 1.3.2 , no entanto, desde que acabei de criar o projeto, excluí-o e criei-o novamente.
Parece que não foi criado corretamente pelo Android Studio pela primeira vez, nem mesmo as pastas do projeto, conforme o esperado.


A versão do Android Studio deve corresponder à versão do plug-in.
Jared Burrows

0

Se você executar uma tarefa do módulo com o plug-in Android 1.2.3 no diretório module, o problema será exibido. Tente o seguinte:

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

Este comando é muito hacky e o Gradle 1.2.3 é extremamente antigo.
Jared Burrows

0

Vá para o seu arquivo de notas, onde você pode ver isso:

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

E mude classpathpara isso:

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

No. gradle-experimentalé "experimental". Isso não tem nada a ver com a pergunta.
Jared Burrows

@JaredBurrows O erro na pergunta do OP também pode acontecer com o gradle-experimental. Está acontecendo comigo hoje. No entanto, VladimirKulyk deve saber que o uso de gradle-experimental é recomendado apenas para compilações de NDK.
IgorGanapolsky


0

Recebi esta mensagem de erro depois de fazer a seguinte alteração no meu nível superior build.gradlepara atualizar para a versão mais recente do gradle:

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

Eu tolamente fiz a alteração enquanto estava conectado atrás de um proxy hostil no local de trabalho. O proxy causou a .jarcorrupção dos arquivos da nova versão do gradle. Isso pode ser verificado inspecionando os frascos para ver se eles têm um tamanho incomum ou se podem ser descompactados.

Para corrigir o erro, conectei-me à minha rede em casa (que não está atrás de um proxy) e atualizei as dependências do Terminal:

./gradlew --refresh-dependencies

Isso fez com que a versão mais recente do gradle fosse baixada novamente e o erro não ocorre mais.


0

Isso também pode acontecer quando você tem ambos settings.gradlee os settings.gradle.ktsarquivos estão presentes no diretório raiz do projeto (possivelmente com o mesmo módulo incluído). Você deve ter apenas um desses arquivos.


Corrigir. Isso aconteceu comigo quando importei meu projeto diretamente com o build.gradle, encontrei o Gradle e o arquivo de propriedades duplicados
Okikioluwa

0

No arquivo build.gradle no nível do projeto, substituí esta linha

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

com este

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

Depois de adicionar as duas linhas e sincronizar, tudo ficou bem. Espero que isso ajude alguém.


-1

arquivo build.gradle do aplicativo de módulo

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

Neste caso de problemas, verifique o código abaixo

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

e gradle-wrapper.propertiesdentro do diretório do projeto, verifique abaixo disctributionUrl:

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

Se estes não forem compatíveis entre si, você acaba nesta edição.

Para com.android.tools.build:gradle:1.5.você precisar de uma versão pelo menos 2.8, mas se você mudar para uma versão superior com.android.tools.build:gradle:2.1.0, precisará atualizar seu gradle para 2.9 e acima, isso pode ser feito alterando distributionUrlgradle-wrapper.properties para 2.9 ou superior como abaixo

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

-1

Apenas certifique-se de colocar o proxy http e https corretamente ao criar o aplicativo

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.