La compilazione di Android Studio non riesce con "Attività" non trovata nel progetto radice "MyProject". "


89

Ricevo questo errore quando provo a creare il mio progetto dopo aver cambiato il laptop e aggiornato ad Android Studio versione 0.8.2.

FAILURE: compilazione non riuscita con un'eccezione.

  • Cosa è andato storto: Task "" non trovato nel progetto principale "MyProject".

  • Prova: esegui attività graduali per ottenere un elenco delle attività disponibili. Esegui con l'opzione --stacktrace per ottenere la traccia dello stack. Esegui con l'opzione --info o --debug per ottenere più output di log.

COSTRUZIONE NON RIUSCITA

Ecco i miei file Gradle:

Impostazioni di primo livello.gradle

include ':MyProject'

build.gradle in 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'
}

Il build.gradle di primo livello è vuoto


Quale comando esatto stai eseguendo?
Opal

@Opal Sto solo cercando di pulire e ricostruire
TomRichardson

Allora ok. Quale comando esegui?
Opal

8
Prova a chiudere e riaprire Android Studio. Ha funzionato per me.
petter

2
Nessuna risposta selezionata tra queste tante ??? Almeno allora pubblica la tua risposta, questo aiuterà anche gli altri.
kAmol

Risposte:


63

Anche se in ritardo nel rispondere, questo è difficile per Google (le virgolette singole) e non è chiaro cosa stia succedendo. Non ho ancora la reputazione di commentare o chiedere l'ambito (o pubblicare 3 link), quindi questa risposta potrebbe essere un po 'noiosa.

Per rispondere velocemente, potresti avere più plugin Gradle nel tuo progetto.

Sincronizza Gradle Wrapper e Plugin

Il mio problema sembrava iniziare con un file IML danneggiato. Android Studio (tra la chiusura e la riapertura di un progetto) ha iniziato a lamentarsi che un IML era sparito (non lo era) e un modulo doveva essere eliminato, cosa che ho rifiutato. Persisteva, ho aggiornato a AS 0.8.7 (canary channel) e sono rimasto bloccato sul problema OP (Task '' non trovato nel progetto root). Questo ha completamente bloccato le build, quindi ho dovuto scavare a Gradle.

I miei passaggi di riparazione su OSX (si prega di regolare per Windows):

  1. Aggiorna Android Studio a 0.8.7
    • Preferenze | Aggiornamenti | Passa da "Beta Channel" a "Canary Channel", quindi fai un controllo ora.
    • Potresti essere in grado di saltare questo.
  2. Controllato il wrapper Gradle (attualmente 1.12.2; non provare a usare 2.0 in questo momento).

    • Supponendo che non sia necessaria una particolare versione, utilizzare l' ultima distribuzione supportata

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

    • Questo può essere impostato in Android Studio in Preferenze | Gradle (ma 0.8.7 mi dava errori di "posizione non valida").

    • Il "wrapper" è solo una copia di Gradle per ogni progetto Android Studio. Ti consente di avere Gradle 2 nel tuo sistema operativo e diverse versioni nei tuoi progetti. I documenti per sviluppatori Android lo spiegano qui .
    • Quindi modifica i tuoi file build.gradle per il plugin . La versione del plugin Gradle deve essere compatibile con la versione distribuzione / wrapper, per l'intero progetto. Poiché la documentazione degli strumenti (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) è leggermente obsoleta, puoi impostare la versione del plugin troppo bassa (come la 0.8.0) e Android Studio genererà un errore con l'intervallo accettabile per il wrapper.

Esempio, in build.gradle, hai questo plugin:

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

Puoi provare a passare alla versione esatta, in questo modo:

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

e (dopo aver registrato la versione da cui stai cambiando in ogni caso) verificando che ogni file build.gradle nel tuo progetto includa la stessa versione del plugin. Mantenere il "+" dovrebbe funzionare (per 0.12.0, 0.12.1, 0.12.2, ecc.), Ma la mia build è riuscita quando ho aggiornato la libreria Volley di Google (originariamente gradle: 0.8. +) E il mio progetto principale (originariamente 0.12. +) alla versione fissa: gradle: 0.12.2.

Altri controlli

  1. Assicurati di non avere due moduli dell'applicazione Android nello stesso progetto

    • Questo può interagire con la soluzione finale (diverse versioni di Gradle, sopra) e la causa

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

    • Per verificare, Build | Make Project non dovrebbe far apparire una finestra che chiede quale applicazione vuoi creare.

  2. Invalida le tue cache
    • File | Invalidazione cache / riavvio (stackoverflow.com/a/19223269/513413)
  3. Se il passaggio 2 non funziona, elimina ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/)
    • Esci da Android Studio
    • $ rm -rf ~ / .gradle /
    • Avvia Android Studio, quindi sincronizza:
      • Strumenti | Android | Sincronizza il progetto con i file Gradle
    • Ripeti l'intera sequenza (esci ... sincronizza) alcune volte prima di arrenderti.
  4. Pulisci il progetto
    • Build | Progetto pulito

Se vedi questo ...

Nelle mie build recenti, continuavo a vedere errori orribili (pagine di eccezioni) ma in pochi secondi i messaggi sarebbero stati cancellati, la compilazione riuscì e l'app distribuita. Dato che non sono mai riuscito a spiegarlo e l'app ha funzionato, non ho mai notato di avere due plugin Gradle nel mio progetto. Quindi penso che i plugin Gradle si siano combattuti a vicenda; uno si è bloccato, l'altro ha perso il suo stato e ha segnalato l'errore.

Se hai tempo, il video di 1 ora "A Gentle Introduction to Gradle" (www.youtube.com/watch?v=OFUEb7pLLXw) mi ha davvero aiutato ad avvicinarmi ai file di costruzione di Gradle, alle attività, alle decisioni di costruzione, ecc.

Disclaimer

Sto imparando l'intero stack, su un sistema operativo straniero, dopo aver lavorato in una carriera diversa ... tutto allo stesso tempo e sotto pressione. Negli ultimi mesi ho colpito ogni muro che penso abbia Android; Sono stato qui abbastanza spesso e questo è il mio primo post. Ho pensato che fosse una soluzione difficile, quindi mi scuso sinceramente se la qualità della mia risposta riflette la difficoltà che ho avuto nel raggiungerla.


Ottima risposta, niente di cui scusarsi e grazie per il collegamento a YouTube
Sabuncu

Grazie per questo. Il passaggio 3 in "Altri controlli" è stato quello che ha fatto per me:$ rm -rf ~/.gradle/
Stringa

24

Scarica l'immagine di sistema (del livello Android mirato del tuo progetto) da sdk manager per il progetto che hai importato.

Questo errore si verifica quando non hai sdk di destinazione del tuo progetto Android installato nella cartella sdk

per es. Il livello sdk di destinazione del progetto importato potrebbe essere android-19 e nella cartella sdk-> system-images potresti avere installato android-21. quindi devi scaricare l'immagine di sistema android-19 e altri file da sdk manager oppure puoi copiarlo e incollarlo se hai l'immagine di sistema.


1
Questo mi ha risolto: ho anche notato un avviso giallo `` Sincronizzazione del progetto Gradle non riuscita '' in AS, quando ho guardato nella finestra Messaggi, includeva un collegamento ipertestuale per installare l'SDK di destinazione mancante con pochi clic.
Mr. Bungle,


9

Questo mi è successo di recente quando ho chiuso un progetto Android Studio e ho importato un altro progetto Eclipse. Sembrava esserci un bug in Android Studio in cui conserva alcune impostazioni gradle dal progetto precedentemente aperto e poi si confonde nel nuovo progetto.

La soluzione era estremamente semplice: chiudere il progetto e chiudere completamente Android Studio, prima di riaprirlo e quindi importare / aprire il nuovo progetto. Tutto filerà liscio da quel momento in poi.


4

La soluzione semplice per me era

  1. Compila> Pulisci progetto
  2. Riavvia Android Studio

3

Nel mio caso, l'impostazione della "versione Gradle" uguale alla "versione del plug-in Android" in File-> Struttura del progetto-> Progetto ha risolto il problema per me.


3

Apparentemente questo errore ha più cause. Ecco cosa lo ha risolto per me.

Stavo eseguendo il comando build in questo modo:

./gradlew :testapp: build

L'esecuzione senza lo spazio ha risolto il problema:

./gradlew :testapp:build

3

Ho ricevuto questo errore durante il passaggio da un ramo Git a un altro e quindi ho provato a eseguire "Clean Project". Ero solito ackcercare il nome dell'attività e l'ho trovato in un file .iml.

La mia soluzione è stata rigenerare il file .iml del progetto facendo clic (nel menu principale) Strumenti> Android> Sincronizza progetto con Gradle Files. ( Grazie a questa risposta .)


2

A volte, se hai aperto due finestre di Android Studio e quando provi a compilare, potrebbe verificarsi questo problema. Per me, quando stavo compilando un modulo Google Cloud Endpoint supportato che non era incorporato in un progetto, piuttosto condiviso tra diversi progetti Android Studio, e quando c'è più di una istanza aperta, questo errore mi viene fuori. Ma non appena chiudi altre finestre, andrà tutto bene. A volte, potresti dover riavviare completamente Android Studio.


2

Ho riscontrato questo problema perché non è stato possibile trovare il percorso dell'SDK Android. Mi mancava un local.propertiesfile con esso o una ANDROID_HOMEvariabile di ambiente con esso.


brav'uomo, la stessa cosa qui. Aggiunto ANDROID_SDK al mio ~ / .bash_profile e ha funzionato
Gary O 'Donoghue

1

Assicurati di avere i valori più recenti nei tuoi file gradle. Al momento della stesura di questo documento:

  • buildToolsVersion "21.1.2"

  • dipendenze {classpath 'com.android.tools.build:gradle:1.1.0'}


1

Ancora un'altra soluzione allo stesso problema:

Questo mi è successo ogni volta che ho importato un progetto eclipse in studio utilizzando la procedura guidata (versione di studio 1.3.2).

Quello che ho scoperto, abbastanza per caso, è che uscire da Android Studio e poi riavviare Studio ha risolto il problema.

Frustrante, ma spero che questo aiuti qualcuno ...


1
  1. Apri il prompt dei comandi
  2. quindi vai alla cartella del progetto tramite il prompt dei comandi
  3. Digita gradlew build ed esegui

1

Problema

Ho specificamente ricevuto l' "[module_name]:prepareDebugUnitTestDependencies" task not founderrore, ogni volta che ho eseguito gradle build. Questo è successo a me dopo aver aggiornato il mio Android Studio alla 3.0.0.

Indagine

In precedenza avevo aggiunto opzioni della riga di comando al compilatore basato su gradle, che puoi trovare in: File -> Impostazioni -> Build, Execution, Deployment -> Compiler -> Opzioni della riga di comando . Nello specifico, avevo escluso una serie di compiti, incluso il suddetto compito. Anche se ha funzionato bene sulla precedente versione stabile (2.3 a quel tempo), sembra che questa sia stata la ragione dietro il fallimento della compilazione.

Soluzione

Questa è una delle tante soluzioni possibili. Assicurati di avere le opzioni della riga di comando corrette specificate nelle impostazioni in: File -> Impostazioni -> Build, Execution, Deployment -> Compiler -> Opzioni della riga di comando e che nessuna di esse stia causando questo problema.

Nel mio caso, ho rimosso l'esclusione di questa attività (e altre attività che sembravano correlate), ho lasciato escluse le attività non correlate e ha funzionato!


0

Imposta il percorso della cartella principale e dopo eseguire il comando seguente

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

0

Questo è quello che ho fatto

  1. Rimuovi la cartella .idea

    $ mv .idea .idea.bak

  2. Importa di nuovo il progetto


0

Rimuovo / rinomino la .gradlecartella c:\users\Myuser\.gradlee riavvio Android Studio e ha funzionato per me


0

Apparentemente questo problema è causato da Android Studio sulle varie situazioni, ma il motivo è un errore di compilazione Quando si importa un progetto esistente in Android Studio.

Nel mio caso, ho importato il mio progetto esistente in cui avrei dovuto installare pochi strumenti di build, quindi alla fine la configurazione della build è stata eseguita con errore. In questo caso, fai le seguenti cose

  1. Chiudi il progetto corrente
  2. File> Nuovo> Importa progetto (non utilizzare il progetto recente aperto)

    Nota: sono sicuro che questo tipo di errore non si trova nel codice sorgente quando è successo nel progetto di importazione .

0

Nel mio caso, incontro questo problema che le opzioni di compilazione in Android Studio sono "stacktrace". Modifica stacktrace in --stacktrace , il problema è stato risolto.

inserisci qui la descrizione dell'immagine


0

Ho risolto questo problema Hai solo bisogno di creare file nella cartella Android

Vai alla cartella Android

Crea il file local.properties

quindi aggiungi questo codice nel file local.properties: -

Se stai usando MacBook, allora sdk.dir = / Users / USERNAME / Library / android / sdk

se stai usando Windows, sdk.dir = C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk

se stai usando Linux, allora sdk.dir = / home / USERNAME / Android / sdk

se vuoi sapere qual è il tuo USERNAME di sistema, usa il comando per Mac whoami

e quindi eseguire nuovamente il comando react-native run-android

Grazie :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.