Construção Android Estúdio falha com " Tarefa ' ' não existe no projeto raiz ' MyProject ' . "

? TomRichardson @ | Original: StackOverFlow
---

Eu recebo este erro ao tentar construir meu projeto depois de mudar laptop e atualização para Android Studio versão 0.8.2 .

FAILURE: Build failed with an exception.

* What went wrong:
Task '' not found in root project 'MyProject'.

* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Aqui estão os meus arquivos gradle :

Nível Top settings.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'
}

Build.gradle nível superior está vazio

---

Top 5 Responder

1cmdqueue @

Embora atrasado em responder, este é um difícil de Google ( as aspas simples ) e não é claro o que está acontecendo. Eu não tenho a reputação ainda para comentar ou pedir escopo ( ou postar 3 links), assim que esta resposta pode ser um pouco entediante .

Para responder rápido, você pode ter vários plugins gradle em seu projeto.

Synchronize Gradle Wrapper and Plugins

Meu problema parecia começar com um arquivo corrompido IML . Android Studio ( entre fechar e reabrir um projeto) começaram a reclamar um IML tinha ido embora (não foi ) e um módulo deve ser excluído, o que eu não aceitei . Ele persistiu, eu atualizado para 0.8.7 AS (canal canário ) e ficou preso na questão OP ( Tarefa ' ' não existe no projeto root). Esta completamente bloqueada constrói então eu tive que cavar para Gradle .

Meus passos de reparo em OSX ( por favor ajuste para Windows) :

Upgrade Android Studio to 0.8.7 Preferences | Updates | Switch "Beta Channel" to "Canary Channel", then do a Check Now. You might be able to skip this.

Verificado o wrapper Gradle (atualmente 1.12.2 ; não tente usar 2.0 neste momento) .

Supondo que você não precisa de uma versão especial, use os http://services.gradle.org/distributions

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

Esta pode ser definida no Android Studio em Preferences | Gradle (mas 0.8.7 estava me dando erros 'Localização inválido ' ) .

The 'wrapper' is just a copy of Gradle for each Android Studio project. It allows you to have Gradle 2 in your OS, and different versions in your projects. The Android Developer docs explain that http://developer.android.com/sdk/installing/studio-build.html#gradleWrapper . Then adjust your build.gradle files for the plugin. The Gradle plugin version must be compatible with the distribution/wrapper version, for the whole project. As the Tools documentation (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) is slightly out of date, you can set the plugin version too low (like 0.8.0) and Android Studio will throw an error with the acceptable range for the wrapper.

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

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

Você pode tentar ligá-lo para a versão exata, como este:

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

e ( depois de gravar o que a versão que você está mudando de em cada caso) verificando que cada arquivo build.gradle em seu projeto puxa na mesma versão do plugin . Mantendo o "+" deve trabalhar (para 0.12.0, 0.12.1, 0.12.2, etc), mas minha compilação sucedeu quando eu atualizei biblioteca Volley do Google (originalmente gradle : . 0.8 +) e meu projeto principal (originalmente 0,12. + ) para a versão fixa : gradle : 0.12.2 .

Other checks

Certifique-se de que você não tem dois módulos de aplicativos Android no mesmo projecto

Isto pode interagir com a solução final (diferentes versões gradle, acima ), e causa

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

Para verificar, Build | Faça Projeto não deve aparecer uma janela perguntando o aplicativo que você deseja fazer .

Invalidate your caches File | Invalidate Caches / Restart (stackoverflow.com/a/19223269/513413) If step 2 doesn't work, delete ~/.gradle/ (www.wuttech.com/index.php/tag/groovy-lang-closure/) Quit Android Studio $ rm -rf ~/.gradle/ Start Android Studio, then sync: Tools | Android | Sync Project with Gradle Files Repeat this entire sequence (quit...sync) a few times before giving up. Clean the project Build | Clean Project If You See This...

Na minha recente constrói, eu ficava vendo horrível falhar (páginas de exceções), mas em questão de segundos as mensagens iria limpar, construir sucedido eo aplicativo implantado. Desde que eu nunca poderia explicá-la e o aplicativo funcionou, eu nunca percebi que eu tinha dois plugins gradle no meu projeto . Então, eu acho que os plugins gradle lutaram entre si ; um acidente, o outro perdeu o seu estado e relatou o erro.

Se você tiver tempo, o vídeo de 1 hora " A Gentle Introdução à Gradle " ( www.youtube.com/watch?v=OFUEb7pLLXw ) realmente me ajudou a aproximar-se do Gradle construir arquivos, tarefas, construir decisões, etc.

Disclaimer

Estou aprendendo esta pilha inteira, em um sistema operacional estrangeira, depois de trabalhar uma carreira diferente ... tudo ao mesmo tempo e sob pressão. Nos últimos meses tenho atingidas todas as paredes Eu acho que o Android tem ; Eu estive aqui muitas vezes e este é meu primeiro post. Eu pensei que esta era uma correção difícil, por isso peço sinceras desculpas se a qualidade da minha resposta reflete a dificuldade que eu tinha em como chegar a ele .

2TpoM6oH @

Isso também acontece quando você tenta construir projeto java no Studio Android SDK com Android, em vez de JDK .

3Ankit Bansal @

Imagem do sistema Download ( de nível android alvejado de seu projeto ) a partir de gerente SDK para o projeto de ter importado .

Este erro ocorre quando você não tem alvo SDK do seu projeto android instalados na pasta sdk

por exemplo . Nível sdk -alvo do seu projeto importado pode ser android -19 e à SDK pasta- > sistema - as imagens que você pode ter android -21 instalado. então você tem que baixar o android -19 imagem do sistema e outros arquivos do gerente SDK ou você pode copiar colá-lo se você tiver a imagem do sistema .

4toni @

Remove:

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

em seu arquivo IML . Isso funciona para mim.

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