ウォッチフェイスをデバッグする

このページでは、Watch Face Format でビルドされたウォッチフェイスをデバッグする方法について説明します。また、ウォッチフェイスの XML を検証してランタイム エラーを特定する方法についても説明します。

有効な Watch Face Format ドキュメントを確認する

Watch Face Format では、公開されている XSD に準拠した整形式の XML が必要となるため、ウォッチフェイスが有効かどうかを確認したり、エラーを特定したりできます。

XML 検証ツールを使用して、ビルドプロセス中に問題を特定します。このツールは、サンプルのウォッチフェイスのビルドプロセスに統合されています。

ウォッチフェイスの作成ツールを構築する場合は、ツールで XSD を使用して XML 検証を実行するようにしてください。

検証ツールを手動で実行する例:

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

watchface.xml ドキュメントにエラーがある場合は、エラーが表示されます。この例では、heighthight と誤って入力されています。

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