【问题标题】:Android Studio: Where is the Compiler Error Output Window?Android Studio:编译器错误输出窗口在哪里?
【发布时间】: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 方法。由于这种方法,其他绑定问题即将出现。

标签: gradle android-studio


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    适用于 Android Studio v4.0

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

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

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

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

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

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

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

    1. 转到文件 > 设置 > 构建、执行、部署 > 编译器。在命令行选项中,添加--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 及更高版本:

        1. 进入设置>构建、执行和部署>编译器
        2. 在命令行选项中添加--stacktrace,点击应用确定
        3. 在 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。