2016-02-22 38 views
29

Gradle costruire per un'applicazione in Android Studio genera il seguente errore:Dove sono i registri Gradle?

Error:Execution failed for task ':app:compileDebugJavaWithJavac'. 
> java.lang.RuntimeException: failure, see logs for details. 
cannot generate view binders com.sun.tools.javac.code.Symbol$CompletionFailure: class file for android.view.View$InvalidateInfo not found 

qualcuno potrebbe offrire un suggerimento su dove trovare i registri?

Inizialmente ho pensato che fosse una domanda così rudimentale che la semplice risposta sarebbe comparsa in alto per una rapida ricerca, ma non sono riuscita a trovarla.

Si prega di notare che questa domanda è sui registri, non per questo errore specifico. Questo messaggio di errore è usato solo come esempio. Nel caso in cui sei curioso, questo errore specifico è stato causato dal non utilizzare l'ultima versione (23) per compileSdkVersion in build.gradle.

+0

puoi pubblicare il tuo file build.gradle, spesso tali errori si verificano a causa di incoerenze dei dati in build.gradle –

+0

Grazie mille per la tua risposta rapida. Non voglio distrarre le persone con il file Gradle. L'errore è legato al binding dei dati e posso eliminare l'errore rimuovendo un'associazione dati. Questa domanda è una domanda generale sui log, non per l'errore specifico. Aggiornerò la domanda per chiarire questo. – Hong

risposta

30

Gradle non reindirizza i suoi registri in un file separato in Android Studio.

Pertanto, se si desidera visualizzarli in un file, è necessario creare gradle utilizzando un comando nel terminale e reindirizzare l'input gradle in un file.

gradlew build > myLogs.txt 2>&1 

Questo comando reindirizzare tutti i messaggi di output e di errore standard da costruzione Gradle ad un file chiamato myLogs.txt nella cartella del progetto.

gradlew build > myLogs.txt 2> logErrors.txt 

Questo comando reindirizzerà tutto l'output standard dal Gradle registra al myLogs.txt e tutti i messaggi di errore per logErrors.txt

testato su Windows 10 e funziona perfettamente.

Here è ulteriori informazioni su come reindirizzare l'output standard dai comandi a file diversi.

+0

Grazie per la risposta. Sto utilizzando Android su Windows 10. Intendevi che eseguire Gradle in Android Studio non genera file di registro? – Hong

+1

Sì. Lo sto eseguendo anche su Windows 10 e non riesco a trovare un modo per eseguire lo script gradlew build tramite il terminale usando un comando tee-like. Quindi ci sono due opzioni: esegui il comando con un comando tee-like supportato su Windows o naviga su un hook tramite un Log4j come detto nel link sopra. –

+1

Tommorow al lavoro proverò ad eseguire questo comando su Ubuntu e vedrò se funziona. Ho letto che questo è il modo in cui è possibile memorizzare i registri al di fuori dello standard output –

0

Ho riscontrato lo stesso problema. Dopo un grande numero di test e modifiche, per prima cosa trovo la modifica compileSdkVersion dalla 23 alla 24 in grado di risolvere questo problema. in secondo luogo, trovo che forse i tuoi strumenti "sdk \ platforms \ android-23" mancano alcuni file, sostituire il file "android.jar" giusto può risolvere anche questo problema. puoi provare in due modi.

+0

la domanda indica chiaramente che non si tratta dell'errore. – Irfan

Problemi correlati