调试表盘

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

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

由于表盘格式要求使用符合已发布 XSD 的结构良好的 XML,因此您可以确认表盘是否有效,并找出错误。

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

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

手动运行验证工具的示例:

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 是获取更多详细信息的好方法。

按“运行时”过滤,您将能够看到影响表盘的严重问题和非严重问题。例如,在这里,为不存在的 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