【问题标题】:Where to find aapt2 logs?在哪里可以找到 aapt2 日志?
【发布时间】:2018-07-02 05:22:52
【问题描述】:

当我尝试构建我的项目时,我收到以下错误:

最后说:“检查日志以获取详细信息”。在哪里可以找到那些 aapt2 日志?

【问题讨论】:

  • 查看右下边缘的“Gradle Console”选项卡。
  • 没问题:i.gyazo.com/5112ae4bbefdcf36b861acf341f442c6.png Gradle 构建良好。当我尝试组装 apk 时出现问题。
  • @EugeneChumak '试图组装 apk' 是什么意思?每当您构建项目时(无论是通过“运行 'app'”、“Make Project”、“Rebuild Project”还是“Build APK(s)”),都会通过 Gradle 进行构建,并且构建的输出在 Gradle 控制台中像 azizbekian 这样的标签已经提到过。如果您遇到错误,这就是日志和详细信息所在的位置。如果您仍然遇到问题,请转到项目目录并运行“./gradlew clean assembleDebug >> out.txt”并在此处发布内容。
  • “组装 apk”是指构建 -> 制作项目。看来,问题出在错误的运行配置中。当我开始构建时,gradle 控制台没有更新,所以我看到了之前构建的结果。

标签: android kotlin aapt2


【解决方案1】:

注意:关于禁用 AAPT2,这不是一个好主意。 AAPT 现已弃用,将于 2018 年底移除。禁用它只会延迟在弃用和移除 AAPT 时您必须解决的问题。


不幸的是,日志没有直接显示在常规构建窗口中。我不确定为什么,或者谁认为这是个好主意,但这就是它目前的工作方式。您需要进入基于文本的版本。

使用 AS 3.1(也可能是 3.0,我使用的是 3.1,因此无法在那里测试)或 IntelliJ 2018.1,打开构建选项卡:

在这种情况下,我故意在一些 XML 代码中创建了一个语法错误(在其他地方也可能出现 AAPT2 错误,例如在清单或 Kotlin 或其他地方。这只是为了演示)。我在图像中突出显示了一个按钮。如果您将鼠标悬停在按钮上,它应该会显示“切换视图”。单击它,您将进入构建选项卡的基于文本的版本:

在这种情况下,我将 XML 属性设置为不存在的值。实际问题是格式化为JSON(见红圈内容)。粉红色的内部是实际的错误消息(找不到资源),蓝色圆圈包含文件(在本例中为 label_layout.xml),黑色圆圈的内容包含位置(第 4 行)。

实际错误会不时发生变化,因此我不会添加如何解决它,因为可能有很多不同的问题。大多数时候它是你的代码(到目前为止,我还没有看到任何 AAPT2 崩溃或存在阻止编译的错误的情况)。实际上,通过不错的日志输出解决这些问题会容易得多。


作为参考,同样适用于编译错误:

虽然语法略有不同:


图标在以后的版本中发生了变化。 除此之外,我不会对图标本身进行主动更新

供将来参考:将鼠标悬停在构建窗口中的按钮上,直到找到显示“切换视图”的按钮:

这就是您要寻找的按钮,无论 Google 决定在未来的 Android Studio 版本中使用什么图标 - 至少在他们解决问题之前是这样。

【讨论】:

  • 我在 AS 3.3 上,您按下的按钮未显示在我的构建窗口中。
  • @MattD 已更新。他们决定显然改变图标。
猜你喜欢
  • 2018-10-31
  • 2019-11-11
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2019-06-03
  • 2022-01-23
  • 2013-11-11
  • 2011-03-24
相关资源
最近更新 更多