【小米手环7】表盘修改/制作指南

news2024/9/24 21:19:44

2024年了还有人用小米手环7么?
5月10号得到我的小米手环7nfc,随之开启了我对表盘制作的探索之旅。~历时18天,终于让我成功修改了官方表盘——荧光电子!表盘:羽球人的荧光电子已上传至表盘自定义工具app。

接下来,我将详细介绍表盘的修改与制作步骤,以及一些 index.js 代码修改的tips。

目录

  • 一、表盘.bin文件情况介绍
  • 二、表盘.bin文件修改/制作教程
    • 1、表盘.bin文件组成介绍
    • 2、表盘.bin文件获取
    • 3、制作表盘的必备工具
    • 4、表盘.bin文件修改
      • step 1 模拟器设置
      • step 2 修改app.json
      • step 3 修改index.js
      • step 4 更新.bin文件
  • 三、index.js文件代码修改指南
      • 1、增加秒数
      • 2、增加月份
      • 3、增加图片
      • 4、增加点击跳转app
  • 参考文献

一、表盘.bin文件情况介绍

1、zepplife更新至6.3.1版本后,表盘文件下载后再也不会存到/storage/emulated/0/Android/data/com.xiaomi.hm.health/files/watch_skin_local/了1 。如果想找到表盘文件需要下载版本6.2.1。亲测是蓝牙是可以搜索的!别问为什么知道TAT
2、zepplife6.2.1可以在 豌豆荚下载
3、表盘文件一共有4个版本,目前下载的官方表盘文件都是第四个版本的。第四版本的index文件是.bin后缀,加密了无法修改TAT2 为什么我知道,因为我试过了ORZ

在了解了表盘.bin文件情况后,就可以开启修改表盘文件之旅了~

二、表盘.bin文件修改/制作教程

1、表盘.bin文件组成介绍

这个是旧版本的表盘.bin文件的组成,新版多一个app.bin,没有app.js文件。如果打开准备修改的表盘.bin文件只有一个app.bin,那说明你可以收皮了~
assets里面放的是表盘用到的图片;
app.json则是表盘的一些设定参数;
watchface里面放的是表盘定义文件index.js,也就是接下来主要修改代码的文件
在这里插入图片描述

2、表盘.bin文件获取

1、米坛社区&表盘自定义工具app
2、华米公司amazfit
3、酷安app
我修改的源表盘是在表盘自定义工具app下载的,感谢Terrance提供的旧版官方表盘荧光电子!

3、制作表盘的必备工具

1、ImageToGTR3-mi7:用来将新增加的图片转成表盘使用的.tga格式;以及将原来表盘有的图片转成模拟器可以使用的.png格式
2、模拟器:用来查看表盘index.js的修改情况
都需要在米坛社区下载,点赞转发后就可以下载文件了,都是即点即用的。

4、表盘.bin文件修改

step 1 模拟器设置

参考GiveMeFive教程3,将.bin文件后缀改成zip,注意这里不要解压修改后再压缩,这样的表盘.bin文件在表盘自定义工具app里会蓝牙安装失败!
在这里插入图片描述

将.zip文件解压,解压后将watchface里的index.js文件放到刚刚下载的模拟器目录:.\ZeppOsSimulatorMi7_1.2\ZeppOsSimulatorMi7\html\watchface\watchface下。
并将解压后里面assets图片用ImageToGTR3-mi7工具解码,放到.\ZeppOsSimulatorMi7_1.2\ZeppOsSimulatorMi7\html\watchface\assets\images
再把app.json和app.js放到.\ZeppOsSimulatorMi7_1.2\ZeppOsSimulatorMi7\html\watchface

这里的ZeppOsSimulatorMi7_1.2放置位置不能有中文!

在这里插入图片描述

双击.\ZeppOsSimulatorMi7_1.2\ZeppOsSimulatorMi7\start.exe

把网址http://127.0.0.1:8088/复制到网页就可以看到模拟的表盘了。按F12可以进入调试。
在这里插入图片描述

step 2 修改app.json

参考zzt741教程4,打开app.json文件,在runtime后面那对括号里面有个type,值为2,应该改为0(如果已经为0则不用管),或者直接删掉红框内容。另外,篮框是v2。
在这里插入图片描述

step 3 修改index.js

小米手环7表盘文件是基于Zepp OS 实现的,这里代码修改可以参考Zepp OS 开发文档介绍:https://docs.zepp.com/zh-cn/docs/intro/
我完全没有接触过JavaScript也可以修改的,问题不大~GPT4.0o你值得拥有哈哈哈哈哈哈哈哈哈哈

step 4 更新.bin文件

修改好index.js文件后,双击打开.zip文件直接将修改好的index.js和app.json替换里面对应的文件,然后将新增的图片转格式后放到对应位置。

如果只是想要修改表盘底图的话,在assets里找到那张192×490的图,直接在压缩界面这里替换就可以了~
在这里插入图片描述

三、index.js文件代码修改指南

虽然但是,这是不是你最想看到的地方~

1、增加秒数

参考:https://docs.zepp.com/zh-cn/docs/1.0/watchface/api/hmUI/widget/IMG_TIME/
在你的index.js文件里,ctrl+f 搜hour_zero 找到类似的一段

hour_zero: !0,
hour_startX: 98,
hour_startY: 205,
hour_array: o,
hour_align: hmUI.align.LEFT,
hour_space: 7,
minute_space: 7,
minute_zero: !0,
minute_startX: 98,
minute_startY: 271,
minute_array: o,
minute_align: hmUI.align.LEFT,
show_level: hmUI.show_level.ONLY_NORMAL | hmUI.show_level.ONAL_AOD

在show_level上面增加类似的second的就可以了,修改后:

hour_space: 7,   // 数字间的间隔
hour_zero: !0,    // 是否有0
hour_startX: 98,    // 小时数字的位置(横)
hour_startY: 205,   // 小时数字的位置(纵)
hour_array: o,  // 小数数字用到的图片
hour_align: hmUI.align.LEFT,  // 向左对齐
minute_space: 7,  //分钟
minute_zero: !0,
minute_startX: 98,
minute_startY: 271,
minute_array: o,
minute_align: hmUI.align.LEFT,
second_space: 4,       //秒
second_zero: !0,
second_startX: 137,
second_startY: 332,
second_array: os,
show_level: hmUI.show_level.ONLY_NORMAL | hmUI.show_level.ONAL_AOD
// 这里表示在正常表盘和息屏下显示
// 参考:https://docs.zepp.com/zh-cn/docs/1.0/watchface/api/hmUI/createWidget/

2、增加月份

参考:https://docs.zepp.com/zh-cn/docs/1.0/watchface/api/hmUI/widget/IMG_DATE/
在你的index.js文件里,ctrl+f 搜day_start找到类似的一段

day_startX: 164,
day_startY: 177,
day_zero: !0,
day_space: -2,
day_en_array: a,
day_sc_array: a,
day_tc_array: a,
day_align: hmUI.align.LEFT,
show_level: hmUI.show_level.ONLY_NORMAL

在show_level上面增加类似的month的就可以了,修改后:

day_startX: 164, // 日期位置(横)
day_startY: 177, // 日期位置(纵)
day_zero: !0,  // 是否有0
day_space: -2,
day_en_array: a,
day_sc_array: a,
day_tc_array: a,
day_align: hmUI.align.LEFT,
month_startX: 164,
month_startY: 152,
month_zero: !0,
month_space: -2,
month_en_array: a,
month_sc_array: a,
month_tc_array: a,
// month_en_array 输入的是使用数字图片格式 前面 a 已经定义好图片了
show_level: hmUI.show_level.ONLY_NORMAL
// 只在正常屏幕显示

3、增加图片

参考:https://docs.zepp.com/zh-cn/docs/1.0/watchface/api/hmUI/createWidget/
在这一段的上面定义一个设定bi,然后在这个下面,加第二段
在这里插入图片描述

let bi = {
    x: 130,
    y: 420,
    src: "images/banminton.png", // 图片放置位置,这里省略assets
    show_level: hmUI.show_level.ONLY_NORMAL
}, // 设置一个设定
hmUI.createWidget(hmUI.widget.IMG, bi)

4、增加点击跳转app

在上面3的基础上增加一段:

hmUI.createWidget(hmUI.widget.IMG, bi).addEventListener(hmUI.event.CLICK_UP, function () {
    hmApp.startApp({ url: "SportListScreen", native: !0 })
}),//url为跳转的app

startApp对应跳转名称,可以参考米坛里面的整理:

在这里插入图片描述5

至此结束啦~谢谢各位耐心看到这里!
最后,这里感谢使用的GTR3PRO的MidNight大佬,耐心的帮我解决问题!
在这里插入图片描述

参考文献


  1. https://www.bandbbs.cn/threads/5557/ ↩︎

  2. https://www.bandbbs.cn/threads/3917/ ↩︎

  3. https://www.bandbbs.cn/threads/3927/ ↩︎

  4. https://www.bandbbs.cn/threads/9490/ ↩︎

  5. https://www.bandbbs.cn/threads/4859/ ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1706188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

将x减到0的最小操作(滑动窗口)

算法原理: 第一眼看到这个题的时候,我真的想不到它到底是怎么和滑动窗口联系起来的,在我的脑海里只有一个简单的双指针。直到我看过了题解,才明白原来是这么回事:先看题目是求最小操作数,此时你一定不要先…

二叉树顺序结构实现【堆的实现】【详细图解】

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 目录 1、二叉树的顺序结构2、堆的概念3、堆的实现3.1 堆实现的前提3.1.1 向上调整3.1.2 向下调…

网络安全行为可控定义以及表现内容简述

在数字化快速发展的今天,网络安全已成为国家和企业不可或缺的防线。据统计,网络攻击事件频发,给全球经济带来了巨大损失。因此,确保网络安全行为可控显得尤为重要。今天我们来聊聊网络安全行为可控定义以及表现内容。 网络安全行为…

音视频开发9 FFmpeg 解复用框架说明,重要API说明

一,播放器框架 二 常用音视频术语 容器/文件(Conainer/File): 即特定格式的多媒体文件, 比如mp4、flv、mkv等。 媒体流(Stream): 表示时间轴上的一段连续数据&#xff0…

维护课堂纪律的重要性

在课堂上,老师们是否经常遇到这样的情况:孩子们交头接耳,小动作不断,甚至有人偷偷玩手机?这些行为长让老师感到头疼,但作为老师,是否思考过,维护课堂纪律的重要性究竟何在&#xff1…

生信网络学院|05月31日《SOLIDWORKS Manage 产品周期管理》

课程主题:SOLIDWORKS Manage 产品周期管理 课程时间:2024年05月31日 14:00-14:30 主讲人:付舰 生信科技 PLM实施顾问 1、SOLIDWORKS Manage介绍 2、周期流程管理 3、产品项目管理 4、项目会议管理 5、项目问题管理 安装腾讯会议客户端…

java配置文件解析yml/xml/properties文件

XML 以mybatis.xml:获取所有Environment中的数据库并连接session为例 import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;import javax.xml.parsers.DocumentBuilder; impo…

第十二周 5.21面向对象的三大特性(封装、继承、多态)(二)

三、多态 1.理解: (1)多态:父类型的引用存储不同子类型的对象 父类类名 引用名 new 子类类名(); 引用 对象 父类型 子类型 …

视频太大怎么压缩变小 视频太大了怎么压缩

视频作为一种多媒体形式,在当今社会的重要性日益凸显,其应用范围广泛,影响力深远。 但是视频文件的大小也在不断增加,这给存储和传输带来了很大的困扰。那么,当视频文件过大时,我们该如何将其压缩变小呢&am…

lubuntu20.04安装和使用ROS Noetic Ninjemys

Noetic Ninjemys 最后一个ROS官方支持的第一代Noetic Ninjemys 为何选择Lubuntu 熟悉我博客的朋友知道,我的这些分享都没有官方经费支持,都是在自己和志同道合朋友们共同努力下,走到今天。 设备陈旧,只能选择对系统资源需求最少…

Common Lisp笔记

在计划学习函数式编程的时候,我一开始打算学习的是 F#。因为我朋友就是在 DTU 上的学,F# 就是 DTU(丹麦理工)开发的。但是由于 F# 和微软的 .NET 绑定,而在 macOS 上,目前版本的 .NET 的是有些问题的&#…

【NumPy】NumPy线性代数模块详解:掌握numpy.linalg的核心功能

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

软件测试人员如何规划自己的职业发展路线

在这个飞速发展的时代中,我们每个人都渴望在各自的领域里找到属于自己的一片天空,而对于那些致力于软件测试的朋友们而言,规划好自己的职业发展路线显得尤为重要。 一、明确目标 首先,我们需要确立一个明确的职业发展目标。对于软…

C# yolov8 TensorRT Demo

C# yolov8 TensorRT Demo 目录 效果 说明 项目 代码 下载 效果 说明 环境 NVIDIA GeForce RTX 4060 Laptop GPU cuda12.1cudnn 8.8.1TensorRT-8.6.1.6 版本和我不一致的需要重新编译TensorRtExtern.dll,TensorRtExtern源码地址:https://githu…

《爷爷的信》获短片金奖:电影新星的摇篮与短片的春天

随着上汽大众杯澳涞坞全球青年电影短片大赛金奖的公布,我们迎来了短片创作的一个崭新里程碑。这一赛事不仅为青年电影人搭建了一个展示才华的舞台,更预示着短片艺术即将迈入一个繁荣的新纪元。 澳涞坞集团此次大赛的举办,是对青年创作力量的…

美国西储大学(CRWU)轴承故障诊断——连续小波(CWT)变换

1.数据集介绍 2.代码 import random import matplotlib matplotlib.use(Agg) from scipy.io import loadmat import numpy as npdef split(DATA):step = 400;size = 1024;data = []for i in range(1, len(DATA) - size, step):data1 = DATA[i:i + size]data.append(data1)rand…

【NumPy】深入理解NumPy的cov函数:计算协方差矩阵的完整指南

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

全网首发!精选32个最新计算机毕设实战项目(附源码),拿走就用!

Hi 大家好,马上毕业季又要开始了,陆陆续续又要准备毕业设计了,有些学生轻而易举就搞定了,有些学生压根没有思路怎么做,可能是因为技术问题,也可能是因为经验问题。 计算机毕业相关的设计最近几年类型比较多…

基于半花青的近红外荧光材料

一、基于半花青的酯酶响应的光声探针: 参考文献:De Novo Design of Activatable Photoacoustic/Fluorescent Probes for Imaging Acute Lung Injury In Vivo | Analytical Chemistry (acs.org) 1.季铵盐的结构改造: 之前的基于半花青的近红外…

Linux网络_网络基础预备

文章目录 前言一、网络基础知识网络协议协议分层OSI七层模型TCP/IP五层(或四层)模型 认识IP地址认识MAC地址数据包封装和分用 前言 Linux系统编程已经告一段落,但是我们在学习LInux系统编程所积累的知识,将仍然与后面网络知识强相关,学习网络…