¿Dónde están los registros de Gradle?

92

La compilación de Gradle para una aplicación en Android Studio genera el siguiente error:

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

¿Alguien podría ofrecer un consejo sobre dónde encontrar los registros?

Inicialmente pensé que esta era una pregunta tan rudimentaria que la respuesta simple aparecería en la parte superior para una búsqueda rápida, pero no pude encontrarla.

Tenga en cuenta que esta pregunta es sobre los registros , no para este error específico. Este mensaje de error se utiliza solo como ejemplo. En caso de que tenga curiosidad, este error específico fue causado por no usar la última versión (23) para compileSdkVersion en build.gradle.

Hong
fuente
puede publicar su archivo build.gradle, a menudo estos errores ocurren debido a inconsistencias de datos en build.gradle
Krasimir Stoev
2
Muchas gracias por tu rápida respuesta. No quiero distraer a la gente con el archivo Gradle. El error está relacionado con el enlace de datos y puedo eliminar el error eliminando un enlace de datos. Esta pregunta es una pregunta general sobre los registros, no para el error específico. Actualizaré la pregunta para aclarar esto.
Hong

Respuestas:

74

Gradle no redirige sus registros en un archivo separado en Android Studio.

Por lo tanto, si desea verlos en un archivo, debe compilar gradle usando un comando en la terminal y redirigir la entrada de gradle a un archivo.

gradlew build > myLogs.txt 2>&1

Este comando redirigirá todos los mensajes de error y de salida estándar de la compilación de gradle a un archivo llamado myLogs.txt en la carpeta del proyecto.

gradlew build > myLogs.txt 2> logErrors.txt

Este comando redirigirá toda la salida estándar de los registros de Gradle a myLogs.txt y todos los mensajes de error a logErrors.txt

Probado en Windows 10 y funciona perfectamente.

Aquí hay más información sobre cómo redirigir la salida estándar de los comandos a diferentes archivos.

Krasimir Stoev
fuente
Gracias por la respuesta. Estoy ejecutando Android en Windows 10. ¿Quisiste decir que ejecutar Gradle en Android Studio no genera archivos de registro?
Hong
1
Si. También lo estoy ejecutando en Windows 10 y parece que no puedo encontrar una manera de ejecutar el script de compilación gradlew a través de la terminal usando un comando en forma de tee. Entonces, hay dos opciones: ejecute el comando con un comando en forma de tee que sea compatible con Windows o navegue por un gancho a través de Log4j como se dice en el enlace anterior.
Krasimir Stoev
1
Mañana en el trabajo intentaré ejecutar este comando en Ubuntu y veré si funciona. He leído que esta es la forma en que puede almacenar sus registros fuera de la salida estándar
Krasimir Stoev
1
Hice una búsqueda y descubrí que gradle no proporciona una opción de registro general para un archivo externo. Esto se sugiere aquí: discus.gradle.org/t/logging-to-console-and-file/8635 y en algunas otras publicaciones del foro también.
Krasimir Stoev
1
Hola de nuevo, verifiqué y resulta que gradle genera sus registros solo en la salida estándar en Android Studio. Si necesita verlos en un archivo separado, debe crear su proyecto con un comando y redirigir la salida a un archivo. Actualizaré mi respuesta. Acabo de probarlo y funciona bien en Windows 10
Krasimir Stoev
42

Ver -> Ventanas de herramientas -> Construir.

Hay un pequeño botón "ab" en el panel izquierdo.

ingrese la descripción de la imagen aquí

Todos los registros de Gradle para la compilación actual están allí.

ingrese la descripción de la imagen aquí

EDITAR : Hay un nuevo ícono de AndroidStudio 3.3

ingrese la descripción de la imagen aquí

ashakirov
fuente
5
El icono ha cambiado, pero sigue ahí. Texto de sugerencia al colocar el cursor sobre "Alternar vista".
firma del método
1
Salvó mi vida. El compilador de Kotlin mostraba una pila de rastros de pila que no encontré útiles
peterchaula
5
El botón se ha ido. Ahora haga clic en la línea superior ("Construir: ...") para mostrar el registro completo.
Erik Browne
14

También puede intentar ejecutar su tarea de esta manera:

> gradlew --info build

Obtendrá mucha información de registro útil

Ajaxian Krasic
fuente
6
¿Por qué votar en contra? Gradle mismo imprime Run with --info or --debug option to get more log output.en la parte inferior de su salida "Ah, los niños hoy en día, evitan la terminal sagrada"
Antek
Esto es lo que necesito, para ver el inicio de sesión expandido completo en la línea de comandos. ¡Esta es una respuesta útil y buena! Estoy usando Gradle 5.5.1
David