Gradle日志在哪里?


93

在Android Studio中为应用程序构建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

谁能提供在哪里找到日志的提示?

最初,我认为这是一个非常基本的问题,简单的答案会在顶部弹出以进行快速搜索,但是我没有找到它。

请注意,此问题与日志有关,而不是针对此特定错误。此错误消息仅用作示例。如果您感到好奇,则此特定错误是由于在build.gradle中未对compileSdkVersion使用最新版本(23)引起的。


您可以发布build.gradle文件吗,经常由于build.gradle中的数据不一致而发生此类错误
— Krasimir Stoev

2
非常感谢您的快速回复。我不想让Gradle文件分散人们的注意力。该错误与数据绑定有关,我可以通过删除数据绑定来消除该错误。这个问题是关于日志的一般问题,而不是特定的错误。我将更新问题以澄清这一点。
— 年

Answers:


74

Gradle不会在Android Studio中的单独文件中重定向其日志。

因此,如果要在文件中查看它们,则需要使用终端中的命令来构建gradle,并将gradle输入重定向到文件。

gradlew build > myLogs.txt 2>&1

此命令会将所有标准输出和错误消息从gradle build重定向到项目文件夹中的myLogs.txt文件。

gradlew build > myLogs.txt 2> logErrors.txt

此命令会将所有标准输出从Gradle日志重定向到myLogs.txt,并将所有错误消息重定向到logErrors.txt

已在Windows 10上进行测试,并且完美运行。

这是有关如何将标准输出从命令重定向到不同文件的更多信息。


谢谢你的回答。我正在Windows 10上运行Android。是否表示在Android Studio中运行Gradle不会生成日志文件?
— Hong

1
是。我也在Windows 10上运行它,我似乎找不到使用类似tee的命令通过终端运行gradlew构建脚本的方法。因此,这里有两个选择-使用Windows支持的类似tee的命令运行该命令,或者通过Log4j导航钩子,如上面的链接所述。
— Krasimir Stoev

1
Tommorow在工作中,我将尝试在Ubuntu上执行此命令,然后查看它是否有效。我已经读过,这是您可以在标准输出之外存储日志的方式
— Krasimir Stoev

1
我进行了搜索,发现gradle不提供外部文件的常规日志记录选项。这是在这里建议:describe.gradle.org/t/logging-to-console-and-file/8635以及其他一些论坛帖子。
— Krasimir Stoev

1
再次您好,我检查了一下,结果发现gradle仅在Android Studio的标准输出中输出其日志。如果需要在单独的文件中查看它们,则应使用命令构建项目,然后将输出重定向到文件。我会更新我的答案。刚刚测试过,它在Windows 10上正常工作
— Krasimir Stoev

43

查看->工具窗口->构建。

左侧面板上有一个小的“ ab”按钮。

在此处输入图片说明

当前构建的所有gradle日志都在那里。

在此处输入图片说明

编辑:AndroidStudio 3.3中有一个新图标

在此处输入图片说明


5
图标已更改,但仍然存在。将文字悬停在“切换视图”上。
— methodsignature

1
救了我。Kotlin编译器正在显示一堆堆栈痕迹,但我没发现用过
— peterchaula

7
该按钮消失了。现在,您单击顶行(“ Build:...”)以显示整个日志。
— 埃里克·布朗

14

您也可以尝试像这样运行任务:

> gradlew-信息库

您将获得一堆有用的日志信息


6
为什么要投票?Gradle自己Run with --info or --debug option to get more log output.在其输出的底部打印“啊,如今的孩子们,他们避开了圣终端”
— Antek

这就是我需要的,以便在命令行中查看完整的扩展日志。这是有用且很好的答案!我正在使用Gradle 5.5.1
— David
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.