ZMake
(zmake - ZeppOS make)
Неофициальные сборщик циферблатов и приложений для ZeppOS, преимущественно Xiaomi Smart Band 7.
Возможности:
- Конвертация графики из PNG в ZeppOS-специфичный подвид TGA;
- Сборка JS-кода через
esbuild
и\илиuglifyjs
(всё по желанию); - Авто-генерация превью, если установлен
zepp-preview
(консольная версия ZeppPlayer); - Автоматическая упаковка всего в
bin
-файл
ZMake Guide (RU)
Установка
Загрузите архив для вашей ОС, распакуйте куда-либо.
Пользователи Windows\macOS: перетащите файл для обработки на программу zmake.
Пользователи Linux: запустите zmake через терминал, указав файл для обработки через параметры.
Доп. компоненты (опционально)
Некоторые функции требуют установки дополнительных компонентов, таких как ESBuild, UglifyHS, ZeppPreview и/или adb. Если вам требуется этот функционал, придётся их установить.
ESBuild, UglifyJS и ZeppPlayer требуют NodeJS и npm. Установите их, если не делали этого ранее.
ESBuild, UglifyJS: Установите из npm
:
npm i -g esbuild uglify-js
Если установка не выполняется, выполните эту команду от имени Администратора (root-пользователя).
ZeppPreview: смотрите тут.
ADB: загрузите Android SDK Platform Tools, распакуйте куда-нибудь и добавьте в PATH.
Что программа может сделать?
Зависит от того, какой файл вы дадите
Вводный файл | Zmake выполнит…. |
---|---|
Приложение\циферблат в виде bin-файла | Распакует его как архив и преобразует всю графику в PNG |
Пустая папка | Развернёт в ней шаблон циферблата\приложения |
Уже распакованный циферблат\приложение (т. е. папка с app.json) | Выполнит сборку циферблата, поместив готовый файл в папку dist |
Любая другая папка | Преобразует графику в PNG или обратно. Направление определяется автоматически, в случае конфликта программа спросит что нужно сделать |
Что подразумевается под “сборкой циферблата”?
- Преобразует графику в формат ZeppOS;
- Если есть папка
src
, файлы внутри неё будут склеены в один файлindex.js
; - (Если включено) все файлы кода будут обработаны через
esbuild
илиuglifyjs
; - (Если включено) создаст превью циферблата через
zepp_preview
; - (Если включено) поместит это превью в папку
assets
; - Создаст готовый для установки
bin
файл; - (Если включено) скопирует этот файл на телефон по ADB.
Обработка графики
ZeppOS поддерживает несколько различных форматов кодирования графики, которые можно выбирать при сборке. Формат по умолчанию указан в файле настроек, однако его можно переопределить для отдельного файла через его имя.
Имя файла… | Формат | Описание |
---|---|---|
.p.png | TGA-P | Изображение с ограничением на палитру. В рамках одного изображения вы сможете использовать любые цвета с прозрачностью, однако не более 256 различных RGBA записей. То есть белый и полу-прозрачный белый — разные цвета. Итоговый размер файла будет равен 64 + (кол_во_цветов * 4) + (ширина * высота) байт |
.rlp.png | TGA-RLP | То же самое что и TGA-P, но с построчным сжатием. Не работает со стрелками, не работает свойство angle, да и может стать причиной тормозов |
.rgb.png | TGA-RGB | Честные RGB-изображения, но только 16-ти битные. Причём формата RGB565, то есть на синий цвет выделено на 1 бит больше. Без прозрачности |
.rgba.png | TGA-RGBA | Частный RGBA, без нюансов. Но весит очень много |
Если формат не указан используется стандартный (TGA-P
).
Как собрать из исходного кода
Ссылки
Благодарности (источники информации):