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

2024-05-28 16:28

本文主要是介绍【小米手环7】表盘修改/制作指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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你值得拥有哈哈哈哈哈哈哈哈哈哈

这里改完,点击保存。然后刷新网页http://127.0.0.1:8088/,就可以看到修改了。

step 4 更新.bin文件

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

如果只是想要修改表盘底图的话,在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", // 图片放置位置,这里省略assetsshow_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/ ↩︎

这篇关于【小米手环7】表盘修改/制作指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1011081

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

android系统源码12 修改默认桌面壁纸--SRO方式

1、aosp12修改默认桌面壁纸 代码路径 :frameworks\base\core\res\res\drawable-nodpi 替换成自己的图片即可,不过需要覆盖所有目录下的图片。 由于是静态修改,则需要make一下,重新编译。 2、方法二Overlay方式 由于上述方法有很大缺点,修改多了之后容易遗忘自己修改哪些文件,为此我们采用另外一种方法,使用Overlay方式。

hibernate修改数据库已有的对象【简化操作】

陈科肇 直接上代码: /*** 更新新的数据并并未修改旧的数据* @param oldEntity 数据库存在的实体* @param newEntity 更改后的实体* @throws IllegalAccessException * @throws IllegalArgumentException */public void updateNew(T oldEntity,T newEntity