调试表盘

本页面介绍了如何调试使用表盘格式构建的表盘。它还解释了如何验证您的表盘 XML 并识别运行时错误。

检查表盘格式文档是否有效

由于表盘格式要求良好结构化且符合已发布的 XSD 的 XML,您可以确认您的表盘是否有效,并识别错误。

使用 XML 验证工具 在构建过程中识别问题。此工具已集成到 示例表盘 的构建过程中。

如果您正在构建表盘创建工具,请确保该工具在您的工具中使用 XSD 执行 XML 验证。

手动运行验证工具的示例

java -jar wff-validator.jar 2 ~/MyWatchface/res/raw/watchface.xml

如果您的 watchface.xml 文档中存在错误,您将看到一个错误,例如此处将 height 拼写为 hight

INFO: DWF Validation Application Version 1.0. Maximum Supported Format Version #2
SEVERE: [Line 41:Column 53]: cvc-complex-type.3.2.2: Attribute 'hight' is not allowed to appear in element 'PartDraw'.
INFO: ❌  FAILED : watchface.xml is NOT valid against watch face format version #1

验证器会识别需要更正的元素的位置——第 41 行,第 53 列。

了解如何获取 XML 验证工具并构建它以供使用。

识别运行时错误

确保 XML 本身有效不足以捕获所有潜在问题。

例如,您的 XML 可能引用不存在的字体或可绘制资源,或者表达式可能预期产生数值,但却返回字符串。

对于此类问题,在 Android Studio 中或通过 ADB 使用 logcat 是获取更详细信息的好方法。

过滤“runtime”,您将能够看到影响表盘的致命和非致命问题。例如,当为不存在的 HourHand 指定资源时

E  Invalid resource ID 0x00000000.
E  FATAL EXCEPTION: main
Process: com.google.wear.watchface.runtime, PID: 29115                                                                                                  android.content.res.Resources$NotFoundException: Resource ID #0x0

或者,当尝试使用带有拼写错误的颜色主题时

W  color has wrong type of source:CONFIGURATION.myTheeeme.2[OBJECT:]
E  Cannot parse theme color. Using theme color WHITE