Où sont les journaux Gradle?

92

La compilation Gradle pour une application dans Android Studio génère l'erreur suivante:

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

Quelqu'un pourrait-il offrir un conseil sur l'endroit où trouver les journaux?

Au départ, je pensais que c'était une question tellement rudimentaire que la réponse simple apparaîtrait en haut pour une recherche rapide, mais je n'ai pas réussi à la trouver.

Veuillez noter que cette question concerne les journaux , pas cette erreur spécifique. Ce message d'erreur n'est utilisé qu'à titre d'exemple. Au cas où vous seriez curieux, cette erreur spécifique a été causée par le fait de ne pas utiliser la dernière version (23) pour compileSdkVersion dans le build.gradle.

Hong
la source
pouvez-vous publier votre fichier build.gradle, souvent de telles erreurs se produisent en raison d'incohérences de données dans build.gradle
Krasimir Stoev
2
Merci beaucoup pour votre réponse rapide. Je ne veux pas distraire les gens avec le fichier Gradle. L'erreur est liée à la liaison de données et je peux éliminer l'erreur en supprimant une liaison de données. Cette question est une question générale sur les journaux, pas pour l'erreur spécifique. Je mettrai à jour la question pour clarifier cela.
Hong

Réponses:

74

Gradle ne redirige pas ses journaux dans un fichier séparé dans Android Studio.

Par conséquent, si vous souhaitez les afficher dans un fichier, vous devez créer gradle à l'aide d'une commande dans le terminal et rediriger l'entrée gradle vers un fichier.

gradlew build > myLogs.txt 2>&1

Cette commande redirigera toutes les sorties standard et les messages d'erreur de gradle build vers un fichier appelé myLogs.txt dans le dossier du projet.

gradlew build > myLogs.txt 2> logErrors.txt

Cette commande redirigera toutes les sorties standard des journaux Gradle vers myLogs.txt et tous les messages d'erreur vers logErrors.txt

Testé sur Windows 10 et fonctionne parfaitement.

Voici plus d'informations sur la façon de rediriger la sortie standard des commandes vers différents fichiers.

Krasimir Stoev
la source
Merci pour la réponse. J'utilise Android sous Windows 10. Vouliez-vous dire que l'exécution de Gradle dans Android Studio ne génère pas de fichiers journaux?
Hong
1
Oui. Je l'exécute également sur Windows 10 et je n'arrive pas à trouver un moyen d'exécuter le script de construction gradlew via le terminal en utilisant une commande de type tee. Donc, deux options - exécutez la commande avec une commande en forme de tee qui est prise en charge sous Windows ou naviguez dans un hook via un Log4j comme indiqué dans le lien ci-dessus.
Krasimir Stoev
1
Demain au travail, j'essaierai d'exécuter cette commande sur Ubuntu et je verrai si cela fonctionne. J'ai lu que c'est ainsi que vous pouvez stocker vos journaux en dehors de la sortie standard
Krasimir Stoev
1
J'ai fait une recherche et j'ai trouvé que gradle ne fournit pas d'option de journalisation générale pour un fichier externe. Ceci est suggéré ici: discuss.gradle.org/t/logging-to-console-and-file/8635 et sur certains autres messages du forum.
Krasimir Stoev
1
Bonjour à nouveau, j'ai vérifié et il s'avère que gradle ne produit ses journaux que dans la sortie standard d'Android Studio. Si vous avez besoin de les voir dans un fichier séparé, vous devez créer votre projet avec une commande et rediriger la sortie vers un fichier. Je mettrai à jour ma réponse. Je viens de le tester et cela fonctionne bien sur Windows 10
Krasimir Stoev
42

Affichage -> Fenêtres d'outils -> Construire.

Il y a un petit bouton «ab» sur le panneau de gauche.

entrez la description de l'image ici

Tous les journaux de notation pour la version actuelle sont là.

entrez la description de l'image ici

EDIT : Il y a une nouvelle icône d'AndroidStudio 3.3

entrez la description de l'image ici

Ashakirov
la source
5
L'icône a changé, mais elle est toujours là. Texte d'indication sur le survol "Basculer vue".
methodsignature
1
Sauvé ma vie. Le compilateur Kotlin montrait une pile de traces de pile que je n'ai pas trouvées useul
peterchaula
5
Le bouton a disparu. Maintenant, vous cliquez sur la ligne du haut ("Build: ...") pour afficher le journal entier.
Erik Browne
14

Vous pouvez également essayer d'exécuter votre tâche comme ceci:

> gradlew --info build

Vous obtiendrez un tas d'informations utiles sur le journal

Ajaxian Krasic
la source
6
pourquoi voter contre? Gradle lui-même imprime Run with --info or --debug option to get more log output.au bas de sa sortie "Ah, les enfants de nos jours, ils évitent le terminal sacré"
Antek
C'est ce dont j'ai besoin, pour voir le journal complet et développé en ligne de commande. C'est une bonne réponse utile! J'utilise Gradle 5.5.1
David