En esta página, se describe cómo depurar una cara de reloj compilada con el Formato de Caras de Relojes. También se explica cómo validar el XML de tu cara de reloj y cómo identificar errores de tiempo de ejecución.
Cómo verificar si hay documentos válidos del Formato de Caras de Relojes
Como el Formato de Caras de Relojes requiere un XML bien estructurado que cumpla con un XSD publicado, puedes confirmar si tu cara de reloj es válida o no, y también identificar errores.
Usa la herramienta de validación de XML para identificar problemas durante el proceso de compilación. Esta herramienta está integrada en el proceso de compilación en los relojes de muestra.
Si compilas una herramienta para crear caras de reloj, asegúrate de que realice la validación de XML con el XSD.
Ejemplo de cómo ejecutar la herramienta de validación de forma manual:
java -jar wff-validator.jar 2 ~/MyWatchface/res/raw/watchface.xml
Si hay un error en tu documento watchface.xml
, verás un error, como en este caso, en el que se escribió mal height
como 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
El validador identifica la ubicación (línea 41, columna 53) del elemento que se debe corregir.
Obtén información para obtener la herramienta de validación de XML y compilarla para su uso.
Identifica errores del entorno de ejecución
No es suficiente garantizar que el archivo en sí sea válido para detectar todos los problemas potenciales.
Por ejemplo, tu XML puede hacer referencia a una fuente o un recurso de elemento de diseño que no existe, o bien se espera que una expresión genere un valor numérico, pero, en su lugar, genera una cadena.
Para este tipo de problemas, usar Logcat, ya sea en Android Studio o a través de ADB, es una buena manera de obtener información más detallada.
Filtra por "runtime" y podrás ver los problemas recuperables y los irrecuperables que afectan a la cara de reloj. Por ejemplo, aquí, cuando se especifica un recurso para HourHand
que no existe, ocurre lo siguiente:
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
O bien, cuando intentas usar un tema de color con un error de ortografía:
W color has wrong type of source:CONFIGURATION.myTheeeme.2[OBJECT:]
E Cannot parse theme color. Using theme color WHITE