Android Studio:编译器错误输出窗口在哪里?

Posted

技术标签:

【中文标题】Android Studio:编译器错误输出窗口在哪里?【英文标题】:Android Studio: Where is the Compiler Error Output Window? 【发布时间】:2013-05-14 02:13:03 【问题描述】:

当我在 android Studio 中“运行”我的项目时,在“消息”窗口中,我得到:

Gradle: 
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':play01:compileDebug'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

上面写着> Compilation failed; see the compiler error output for details. 那么“编译器错误输出”在哪里?和/或如何使用--stacktrace 选项运行?

【问题讨论】:

我运行的是 Android Studio 1.3.2,但没有一个解决方案有效。 sucki android studio 要求对这些愚蠢的问题进行投票.. :) 也许IDEA的想法是理想地隐藏错误(SCNR) 我更新插件时也有同样的问题。我使用 Android Studio 3.4 Canary 6 我也遇到过这个问题。就我而言,问题在于实体类数据。如果您的数据成员是私有的,他们必须创建 getter 和 setter 方法。由于这种方法,其他绑定问题即将出现。 【参考方案1】:

只需点击构建输出中的“构建”节点

由于某种原因,“编译失败”节点刚刚开始被自动选择,因此描述窗口非常无用。

【讨论】:

【参考方案2】:

适用于 Android Studio v4.0

正如其他人所提到的,在 AS 3.* 中明显存在的“消息”窗口在 4.0 中不再存在(或者它被隐藏得非常非常好)。在浪费了太多时间之后,我找到了另一种查看这些编译错误的方法:

    打开 Gradle 工具窗口。默认情况下,它位于顶部的右边缘:

如果您在此处看不到它,请使用“视图”>“工具窗口”>“Gradle”。

    在 Gradle 窗口中,打开应用的根选项并运行 Tasks > build > build:

    “运行”工具窗口应该会自动打开,您将在其中看到有关构建错误原因的详细信息:

如果它没有自动打开,您可以通过查看>工具窗口>运行来访问它。

希望这可以为您提供所需的所有信息。如果没有,请尝试:

    转到文件 > 设置 > 构建、执行、部署 > 编译器。在命令行选项中,添加--scan

应用并确定,然后再次尝试 Gradle 构建。

【讨论】:

【参考方案3】:

我解决了这个错误“Compilation failed to see the compiler error output for details”

解决方法很简单:在一行代码下面添加一个Gradle

实现 'com.google.android.gms:play-services-ads:15.0.0'

【讨论】:

这行代码应该添加到哪里?你能改写一下吗? 这没有回答原始问题:如何查看编译器错误消息。【参考方案4】:

在将android转换为androidx之后。

更改导入库问题将解决。 像这样:

import androidx.appcompat.widget.Toolbar;  <<  like this

导入 androidx.annotation.NonNull;

导入 androidx.appcompat.app.ActionBarDrawerToggle;

导入 androidx.drawerlayout.widget.DrawerLayout;

导入 androidx.recyclerview.widget.RecyclerView;

导入 androidx.appcompat.app.AppCompatActivity;

【讨论】:

这并没有解决 OP 的问题:如何查看编译错误。【参考方案5】:

设置起来非常简单!只需进入 Android Studio 2.2.3 的 Compiler 设置并设置--stacktrace 命令:

然后再次运行应用程序

【讨论】:

如果真的像你说的那么简单,这个帖子就不会存在了。 @jungledev 设置起来真的很简单,但知道它并不是很明显:) 更改我的答案中的措辞以明确这一点 在 AS 4.0 中,我设置了这个 --stacktrace。但是输出在哪里?这是最初的问题。 @SteveWhite 在构建时控制台的输出中。 Antonio,预期的输出从未出现在我的构建控制台中。如本页其他地方所述,我必须手动运行 gradlew。【参考方案6】:

对于 Android Studio 3.1,在 Build 窗口中选择 Build one 下方的图标。

到 Android Studio 3.3(可能在 3.2.1 中),图标发生了变化,但位置相同:

当您运行构建操作(例如,从构建菜单)时,构建窗口应该打开。如果您没有看到它,您可以尝试窗口底部的“构建”按钮(也可以在上面的屏幕截图中看到),或者通过菜单查看 → 工具窗口 → 构建。

【讨论】:

那是什么Icon,我好像找不到,也找不到构建窗口 很遗憾,我不得不谷歌并通过 *** 挖掘以了解如何查看编译器输出。谢谢@boiledwater Android 的 IDE 只是说“切换视图”.. 切换视图是什么? +1 这个答案。 Google 仍在尽最大努力为开发者隐藏工作流程 AS 4.0好像没有这个图标 Android studio 4.0 上缺少该图标【参考方案7】:

运行

gradlew --stacktrace 

在终端中查看完整报告

对我来说是

任务 :app:compileDebugJavaWithJavac 失败 javacTask:源版本 1.8 需要目标版本 1.8

所以我加了

 compileOptions 
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8

在 app.gradle 文件/android 构建成功完成

【讨论】:

当我在终端(在项目文件夹中)执行此操作时,它显示 BUILD SUCCESSFUL 但是当我使用 Build -> Make Project 构建时,我看到同样的通知,即存在编译错误。跨度> 我没有安装 gradlew 我应该安装第三方应用程序只是为了检查日志 你不需要安装任何东西,文件[gradlew]存在于项目主目录中,运行即可。 我错过了这个(targetCompatibility JavaVersion.VERSION_1_8)谢谢你的工作【参考方案8】:

这个答案已经过时了。 For Android 3.1 Studio go to this answer

您可以做的一件事是停用外部构建。为此,请单击出现错误时出现的“生成消息”面板中的“编译器设置图标”。您还可以通过转到文件 -> 设置 -> 编译器来打开编译器设置。 (感谢@maxgalbu 提供此技巧)。

取消选中“使用外部构建”

你会在控制台看到错误

编辑:再次返回“内部构建”后,您可能会遇到一些错误,您可以通过以下方式解决它们:Android Studio: disabling "External build" to display error output create duplicate class errors

【讨论】:

取消选中“使用外部构建”会在我尝试构建项目时引入两个错误:error: duplicate class: com.moberg.colorgame.BuildConfigerror: duplicate class: com.moberg.colorgame.R @Moberg 同样的问题,我开始了一个新问题:***.com/questions/17108393/… 好的,我去看看会发生什么,如果我发现了什么,我会在新问题中回复。 我没有那个“消息制作”面板... wtf? 我现在看不到这些选项。我正在运行 Android Studio 1.2.1.1【参考方案9】:

您还可以通过单击切换按钮在“构建”窗口中查看错误。

【讨论】:

【参考方案10】:

在我的例子中,我有一个 findViewById 对我在 xml 中删除的视图的引用

如果您运行的是 AS 3.1 及更高版本:

    进入设置>构建、执行和部署>编译器 在命令行选项中添加--stacktrace,点击应用确定 在 AS 的底部单击 Console/Build(如果您使用稳定版本 3.1.2 及更高版本)展开面板并再次运行您的应用程序。

您应该会在展开的视图中看到完整的堆栈跟踪以及特定的错误。

【讨论】:

这是 AS 4.0。它仍然以同样的方式失败。没有堆栈跟踪。 您是否添加了 --stacktrack --debug --info 标志? 当然。但这不是问题所在。问题(据我所知)不再有出现堆栈跟踪的窗口。但是,可以在终端中手动运行 gradlew 来获取信息。在此页面的另一条评论中,我说哪种方法有效。【参考方案11】:

如果你在android studio 3.1,验证文件->项目结构->源兼容性是否为空。它不应该设置为 1.8。

然后按确定,项目将同步,错误将消失。

【讨论】:

问题不是如何让错误消失。问题是如何查看错误消息。【参考方案12】:

在 android studio 2.2.3 中,您可以在 gradle 控制台中找到输出,如下所示

【讨论】:

在 AS 4.0 中,这个 Gradle 控制台在哪里?【参考方案13】:

就我而言,我更喜欢打开左下角的终端窗口,然后运行gradlew build --info

【讨论】:

@Pamblam 使用 ./gradlew 这是我在此页面上找到的唯一适用于 AS 4.0 的答案【参考方案14】:

我正在构建 Jorge 推荐的内容。 转到文件->设置->编译器。

在这里,您将看到一个字段,用于添加您插入的编译器选项 --stacktrace

【讨论】:

我在 AS 4.0 中试过这个。我不知道要寻找它可能产生的任何输出。【参考方案15】:

你在 Windows 上吗?启动 cmd,找到您的项目文件夹并运行“gradlew build”。这应该已经为您提供了比 IDE 更多的输出,您还可以在那里使用 --info、--stacktrace 和 --debug。

【讨论】:

漂亮!现在,如果只有该输出可以集成到 Android Studio 中 我的想法完全正确。没有编译器错误窗口的 IDE?我敢打赌我们遗漏了一些东西,但在解决之前,这种解决方法应该足够了。 "你在 Windows 上吗?" - 这也适用于 Ubuntu Linux!谢谢! /[folder-where-you-installed-the-android-studio]/sdk/tools/templates/gradle/wrapper/gradlew build 我正在将一个大型项目从 Eclipse 迁移到 Android Studio。迄今为止最好的建议:首先让命令行 gradle build 工作,然后再担心新的 IDE。

以上是关于Android Studio:编译器错误输出窗口在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 1.2构建错误[重复]

更新android studio后Android资源编译失败

如何将 Kotlin 错误链接到 Android Studio 中的源?

visual studio中常用快捷键

如何解决之在Android Studio上导入GitHub旧项目后出现窗口卡在编译中,并且左边的project不见了

Android Studio的Logcat窗口在哪