当我尝试构建我的项目时,我收到以下错误:
最后指出:“检查日志以获取详细信息”。在哪里可以找到那些 aapt2 日志?
注意:关于禁用 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 中使用什么图标 - 至少在他们解决问题之前是这样。