Trang này mô tả cách gỡ lỗi mặt đồng hồ được tạo bằng Định dạng mặt đồng hồ. Bài viết này cũng giải thích cách xác thực XML mặt đồng hồ và xác định lỗi thời gian chạy.
Kiểm tra các tài liệu hợp lệ về Định dạng mặt đồng hồ
Vì Định dạng mặt đồng hồ yêu cầu XML có cấu trúc tốt tuân thủ XSD đã xuất bản, nên bạn có thể xác nhận xem mặt đồng hồ của mình có hợp lệ hay không và xác định lỗi.
Sử dụng công cụ xác thực XML để xác định các vấn đề trong quá trình tạo bản dựng. Công cụ này được tích hợp vào quy trình tạo bản dựng trong mặt đồng hồ mẫu.
Nếu bạn đang xây dựng một công cụ để tạo mặt đồng hồ, hãy đảm bảo rằng công cụ đó thực hiện việc xác thực XML bằng XSD trong công cụ của bạn.
Ví dụ về cách chạy công cụ xác thực theo cách thủ công:
java -jar wff-validator.jar 2 ~/MyWatchface/res/raw/watchface.xml
Nếu có lỗi trong tài liệu watchface.xml
, bạn sẽ thấy lỗi, chẳng hạn như trong trường hợp này, height
bị sai chính tả thành 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
Trình xác thực xác định vị trí – dòng 41, cột 53 – của phần tử cần chỉnh sửa.
Tìm hiểu cách tải công cụ trình xác thực XML và tạo công cụ này để sử dụng.
Xác định lỗi thời gian chạy
Việc đảm bảo chính tệp XML là hợp lệ là chưa đủ để nắm bắt tất cả các vấn đề tiềm ẩn.
Ví dụ: tệp XML của bạn có thể tham chiếu đến phông chữ hoặc tài nguyên có thể vẽ không tồn tại, hoặc một biểu thức có thể được dự kiến sẽ tạo ra một giá trị số, nhưng lại tạo ra một chuỗi.
Đối với những loại vấn đề này, bạn nên sử dụng logcat trong Android Studio hoặc thông qua ADB để biết thêm thông tin chi tiết.
Lọc theo "thời gian chạy" và bạn sẽ thấy cả các vấn đề nghiêm trọng và không nghiêm trọng ảnh hưởng đến mặt đồng hồ. Ví dụ: ở đây, khi chỉ định tài nguyên cho HourHand
không tồn tại:
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
Hoặc ở đây, khi bạn cố gắng sử dụng một giao diện màu có lỗi chính tả:
W color has wrong type of source:CONFIGURATION.myTheeeme.2[OBJECT:]
E Cannot parse theme color. Using theme color WHITE