A compilação do Android Studio falha com “Tarefa '' não encontrada no projeto raiz 'MeuProjeto'.”

89

Recebo este erro ao tentar construir meu projeto depois de mudar o laptop e atualizar para o Android Studio versão 0.8.2.

FALHA: a compilação falhou com uma exceção.

  • O que deu errado: Tarefa '' não encontrada no projeto raiz 'MeuProjeto'.

  • Experimente: Execute tarefas gradle para obter uma lista de tarefas disponíveis. Execute com a opção --stacktrace para obter o rastreamento da pilha. Execute com a opção --info ou --debug para obter mais saída de log.

FALHA NA CONSTRUÇÃO

Aqui estão meus arquivos do Gradle:

Configurações de nível superior.gradle

include ':MyProject'

build.gradle em MyProject:

apply plugin: 'com.android.application'

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

android {
    compileSdkVersion 20
    buildToolsVersion "20"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 20
    }
}

dependencies {
    compile 'de.timroes.android:EnhancedListView:0.3.0@aar'
    compile 'com.nineoldandroids:library:2.4.0'
}

O build.gradle de nível superior está vazio

TomRichardson
fonte
Que comando exato você está executando?
Opala de
@Opal Estou apenas tentando limpar e reconstruir
TomRichardson
Bem ok. Que comando você executa?
Opala de
8
Tente fechar e reabrir o Android Studio. Funcionou para mim
petter
2
Nenhuma resposta selecionada entre essas muitas ??? Então poste sua resposta, isso ajudará outras pessoas também.
kAmol

Respostas:

63

Embora atrasada na resposta, esta é uma pergunta difícil para o Google (as aspas simples) e não está claro o que está acontecendo. Não tenho reputação ainda para comentar ou pedir escopo (ou postar 3 links), então esta resposta pode ser um pouco tediosa.

Para responder rapidamente, você pode ter vários plug-ins do Gradle em seu projeto.

Sincronizar Gradle Wrapper e Plugins

Meu problema parecia começar com um arquivo IML corrompido. O Android Studio (entre o fechamento e a reabertura de um projeto) começou a reclamar que um IML havia sumido (não era) e um módulo deveria ser excluído, o que recusei. Ele persistiu, eu atualizei para AS 0.8.7 (canal canário) e fiquei preso no problema de OP (Tarefa '' não encontrada no projeto raiz). Isso bloqueou completamente as compilações, então tive que me aprofundar no Gradle.

Minhas etapas de reparo no OSX (ajuste para Windows):

  1. Atualize o Android Studio para 0.8.7
    • Preferências | Atualizações | Mude "Canal Beta" para "Canal Canário" e faça uma verificação agora.
    • Você pode ignorar isso.
  2. Foi verificado o wrapper Gradle (atualmente 1.12.2; não tente usar 2.0 neste momento).

    • Supondo que você não precise de uma versão específica, use a distribuição compatível mais recente

      $ vi ~/project/gradle-wrapper.properties ... distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

    • Isso pode ser definido no Android Studio em Preferências | Gradle (mas 0.8.7 estava gerando erros de 'localização inválida').

    • O 'wrapper' é apenas uma cópia do Gradle para cada projeto do Android Studio. Ele permite que você tenha o Gradle 2 em seu sistema operacional e diferentes versões em seus projetos. Os documentos do Android Developer explicam isso aqui .
    • Em seguida, ajuste seus arquivos build.gradle para o plug - in . A versão do plugin Gradle deve ser compatível com a versão de distribuição / wrapper, para todo o projeto. Como a documentação das ferramentas (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) está um pouco desatualizada, você pode definir a versão do plugin muito baixa (como 0.8.0) e O Android Studio gerará um erro com o intervalo aceitável para o wrapper.

Exemplo, em build.gradle, você tem este plugin:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.+"
}

Você pode tentar mudá-lo para a versão exata, desta forma:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.2"
}

e (após registrar de qual versão você está mudando em cada caso) verificar se todos os arquivos build.gradle em seu projeto puxam a mesma versão do plugin. Manter o “+” deve funcionar (para 0.12.0, 0.12.1, 0.12.2, etc.), mas minha construção teve sucesso quando atualizei a biblioteca Volley do Google (originalmente gradle: 0.8. +) E meu projeto principal (originalmente 0.12. +) para a versão fixa: gradle: 0.12.2.

Outras verificações

  1. Certifique-se de não ter dois módulos de aplicativo Android no mesmo projeto

    • Isso pode interagir com a solução final (diferentes versões do Gradle, acima) e causar

      UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)

    • Para verificar, Build | O Make Project não deve abrir uma janela perguntando qual aplicativo você deseja fazer.

  2. Invalide seus caches
    • Arquivo | Invalidar caches / reiniciar (stackoverflow.com/a/19223269/513413)
  3. Se a etapa 2 não funcionar, exclua ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/)
    • Saia do Android Studio
    • $ rm -rf ~ / .gradle /
    • Inicie o Android Studio e sincronize:
      • Ferramentas | Android | Sincronizar projeto com arquivos Gradle
    • Repita toda a sequência (sair ... sincronizar) algumas vezes antes de desistir.
  4. Limpe o projeto
    • Construir | Projeto Limpo

Se você vir isto ...

Em minhas compilações recentes, continuei vendo falhas terríveis (páginas de exceções), mas em segundos as mensagens eram apagadas, a compilação era bem-sucedida e o aplicativo implantado. Como eu nunca conseguia explicar e o aplicativo funcionava, nunca percebi que tinha dois plug-ins do Gradle em meu projeto. Então, acho que os plug-ins do Gradle lutaram entre si; um travou, o outro perdeu seu estado e relatou o erro.

Se você tiver tempo, o vídeo de 1 hora "Uma introdução suave ao Gradle" (www.youtube.com/watch?v=OFUEb7pLLXw) realmente me ajudou a abordar os arquivos de compilação do Gradle, tarefas, decisões de compilação etc.

aviso Legal

Estou aprendendo essa pilha inteira, em um sistema operacional estrangeiro, depois de trabalhar em uma carreira diferente ... tudo ao mesmo tempo e sob pressão. Nos últimos meses, bati em todas as paredes que acho que o Android atingiu; Já estive aqui com bastante frequência e este é meu primeiro post. Achei que era uma solução difícil, por isso peço sinceramente desculpas se a qualidade da minha resposta reflete a dificuldade que tive em chegar a ela.

ǝɲǝɲbρɯͽ
fonte
Ótima resposta, nada para se desculpar e obrigado pelo link do YouTube
Sabuncu
Obrigado por isso. A etapa 3 em "Outras verificações" foi o que funcionou para mim:$ rm -rf ~/.gradle/
String
24

Baixe a imagem do sistema (do nível alvo do Android do seu projeto) do gerenciador de SDK para o projeto que você importou.

Este erro ocorre quando você não tem o SDK de destino do seu projeto Android instalado na pasta sdk

por exemplo. O nível sdk de destino do seu projeto importado pode ser android-19 e na pasta sdk-> system-images você pode ter android-21 instalado. então você tem que baixar a imagem do sistema android-19 e outros arquivos do gerenciador sdk ou você pode copiar e colar se você tiver a imagem do sistema.

Ankit Bansal
fonte
1
Isso corrigiu para mim - também notei um aviso amarelo 'Falha na sincronização do projeto Gradle' no AS, quando olhei na janela Mensagens, ele incluía um hiperlink para instalar o SDK de destino ausente com alguns cliques.
Sr. Bungle
13

Remover:

<facet type="android" name="Android">
    <configuration />
</facet>

em seu arquivo iml. Isso funciona para mim.

https://plus.google.com/+AlexRuiz/posts/49hP3V9GSGe

toni
fonte
Isso não se aplica a um projeto do Gradle, certo? Meu project.xml contém<facet type="java-gradle" name="Java-Gradle">...
Trinimon
9

Isso aconteceu comigo recentemente, quando fechei um projeto do Android Studio e importei outro projeto Eclipse. Parecia ser algum bug no Android Studio, onde ele preserva algumas configurações do gradle de um projeto aberto anteriormente e, em seguida, fica confuso no novo projeto.

A solução foi extremamente simples: feche o projeto e desligue o Android Studio completamente, antes de reabri-lo e, em seguida, importar / abrir o novo projeto. Tudo corre bem a partir de então.

rehan
fonte
4

A solução simples para mim foi

  1. Construir> Limpar projeto
  2. Reinicie o Android Studio
Holangun
fonte
3

No meu caso, definir a 'versão do Gradle' igual à 'versão do plug-in do Android' em Arquivo-> Estrutura do projeto-> Projeto corrigiu o problema para mim.

somesh
fonte
3

Aparentemente, esse erro tem várias causas. Aqui está o que consertou para mim.

Eu estava executando o comando build assim:

./gradlew :testapp: build

Executá-lo sem o espaço corrigiu o problema:

./gradlew :testapp:build
David
fonte
3

Recebi este erro ao alternar de um branch do Git para outro e, em seguida, tentar executar o "Clean Project". Eu costumava ackpesquisar o nome da Tarefa e encontrei-o em um arquivo .iml.

Minha solução foi regenerar o arquivo .iml do projeto clicando (no menu principal) em Ferramentas> Android> Sincronizar projeto com arquivos Gradle. ( Graças a esta resposta .)

Josh
fonte
2

Às vezes, se você abriu duas janelas do Android Studio e quando tenta compilar, esse problema pode acontecer. Para mim, quando eu estava compilando um módulo do Google Cloud Endpoint que não estava incorporado em um projeto, mas sim compartilhado entre diferentes projetos do Android Studio, e quando há mais de uma instância aberta, esse erro costuma surgir para mim. Mas assim que você fechar outras janelas, tudo ficará bem. Às vezes, pode ser necessário reiniciar o Android Studio completamente.

Mohammed Mukhtar
fonte
2

Tive este problema porque não foi possível encontrar o caminho do Android SDK. Estava faltando um local.propertiesarquivo ou uma ANDROID_HOMEvariável de ambiente com ele.

Morten Holmgaard
fonte
bom homem, a mesma coisa aqui. Adicionado ANDROID_SDK ao meu ~ / .bash_profile e funcionou
Gary O 'Donoghue
1

Certifique-se de ter os valores mais recentes em seus arquivos do Gradle. No momento desta redação:

  • buildToolsVersion "21.1.2"

  • dependências {classpath 'com.android.tools.build:gradle:1.1.0'}

IgorGanapolsky
fonte
1

Mais uma solução para o mesmo problema:

Isso acontecia comigo sempre que importava um projeto eclipse para o estúdio usando o assistente (versão do estúdio 1.3.2).

O que descobri, por acaso, foi que sair do Android Studio e reiniciá-lo novamente fez o problema desaparecer.

Frustrante, mas espero que isso ajude alguém ...

Mick
fonte
1
  1. Abrir Prompt de Comando
  2. em seguida, vá para a pasta do projeto através do prompt de comando
  3. Digite gradlew build e run
Krishan
fonte
1

Problema

Eu especificamente recebi o "[module_name]:prepareDebugUnitTestDependencies" task not founderro, toda vez que executei o Gradle Build. Isso aconteceu comigo depois de atualizar meu Android Studio para 3.0.0.

Investigação

Eu já tinha adicionado opções de linha de comando ao compilador baseado em gradle, que você pode encontrar em: Arquivo -> Configurações -> Compilar, Execução, Implementação -> Compilador -> Opções de linha de comando . Especificamente, eu havia excluído uma série de tarefas, incluindo a tarefa acima mencionada. Embora tenha funcionado bem na versão estável anterior (2.3 naquela época), parece que essa foi a razão por trás da falha de compilação.

Solução

Esta é uma das muitas soluções possíveis. Certifique-se de ter as opções de linha de comando corretas especificadas nas configurações em: Arquivo -> Configurações -> Compilar, Execução, Implantação -> Compilador -> Opções de linha de comando e que nenhuma delas está causando este problema.

No meu caso, removi a exclusão desta tarefa (e outras tarefas que pareciam relacionadas), deixei as tarefas não relacionadas excluídas e funcionou!

Ás
fonte
0

Defina o caminho da pasta raiz e depois execute o comando abaixo

ex : cd C:\Users\maha\Documents\gradle\gs-gradle-master\initial
Maha
fonte
0

Isso é o que eu fiz

  1. Remover pasta .idea

    $ mv .idea .idea.bak

  2. Importe o projeto novamente

Ken Ratanachai S.
fonte
0

Eu removo / renomeio a .gradlepasta c:\users\Myuser\.gradlee reinicio o Android Studio e funcionou para mim

Ashkufaraz
fonte
0

Aparentemente, esse problema causado pelo Android Studio em várias situações, mas o motivo é erro de compilação Ao importar um projeto existente para o Android Studio.

No meu caso, importei meu projeto existente onde deveria instalar algumas ferramentas de construção e, finalmente, a configuração da construção foi feita com erro. Neste caso, basta fazer o seguinte

  1. Fechar o projeto atual
  2. Arquivo> Novo> Importar projeto (não use o projeto recente aberto)

    Nota: Tenho certeza que este tipo de erro não está no código-fonte quando isso aconteceu no projeto de importação .
Deva
fonte
0

No meu caso, encontro o problema de que as opções de compilação no Android Studio são "stacktrace". Modificar stacktrace para --stacktrace , o problema resolvido.

insira a descrição da imagem aqui

Timyau
fonte
0

Eu resolvi este problema. Você só precisa criar um arquivo na pasta Android

Go android folder

Crie o arquivo local.properties

em seguida, basta adicionar este código no arquivo local.properties: -

Se você estiver usando MacBook, sdk.dir = / Users / USERNAME / Library / android / sdk

se você estiver usando o Windows, sdk.dir = C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk

se você estiver usando Linux, sdk.dir = / home / NOME DE USUÁRIO / Android / sdk

se você quer saber qual é o seu sistema USERNAME então é só usar o comando para Mac whoami

e execute novamente o comando react-native run-android

Obrigado :)

Usman Developer
fonte