最近买了小米手环5,下载了小米穿戴app,发现自带商城的表盘都不太喜欢,就想换第三方的表盘,去网上搜索更换的办法。搜到一个办法如下:
下载两个app,一个是 Mi Band 5 – WatchFace for Xiaomi Mi Band 5, 另一个就是小米运动。然后就可以直接在 Mi Band 5 app 里选择喜欢的表盘,再利用小米运动app更新到表盘了。但我个人不喜欢这种方法,虽然简单,但小米运动app相对于小米穿戴app来说太冗余了,所以就去网上查找如何利用小米穿戴更换表盘的办法。结果很幸运,在CSDN找到一篇文章,已经有其他网友通过小米穿戴app更换表盘成功了,原帖地址如下:
https://blog.csdn.net/chenzhuyu/article/details/107656003
作者id是:ChenZhuYu
里面介绍了原理,我在此复述一下。
原理说明
使用电脑进行网页代理劫持,将
http://cdn.cnbj1.fds.api.mi-i..._XXXX.bin
劫持到本地计算机环境,并将对应bin替换为表盘文件
智能穿戴自身更换表盘逻辑:
1. 检测自身data文件夹是否存在
2. 检测/Android/data/com.xiaomi.wearable/files/WatchFace是否存在
3. 重新从网络下载
其中,第二步会对文件进行检测,如果文件MD5不正确会判定为不存在,重新进行下载,因此只能在第三步进行操作
准备工具
原作者的环境是MacOS,Charles,MAMP;用MAMP建立本地服务,用Charles抓包,我是windows环境,所以选取的工具为:Wampserver建立服务,Fiddler 用来抓包。
Wampserver下载地址:https://www.wampserver.com/en/
版本:WAMPSERVER 64 BITS (X64) 3.2.0
Fiddler下载地址:https://www.telerik.com/fiddler
版本:Fiddler Everywhere 1.0.1
具体操作方法
1.安装WAMPSERVER
安装完成并启动服务之后,在浏览器输入 localhost 查看是否能够进入home页面,如下图:
然后确保手机和电脑处于同一局域网内,使用手机浏览器访问电脑ip,查看能否进入home页,如果不能,一般是两个操作:
(1).左键点击右下角服务栏的WAMP,依次选择Apache,将http.conf和httpd-vhosts.conf 中的 Require all denied和Require local改为Require all granted
(2).依次打开:控制面板--Windows Defender防火墙--高级设置--入站规则--右侧的新建规则,在新建入站规则中依次选择:端口--TCP 特定本地端口80(或apache中设置的开放端口),下一步后添加个规则名称即可。
2.安装Fiddler
安装好 Fiddler 之后,配置对手机进行抓包,依次点击 Setting, connections,配置端口,勾选两个选项,点击save 保存。
3.手机配置代理
选择跟电脑处于同一局域网的wifi,配置代理,ip为电脑的ip,端口是在fiddler配置的端口。
4.下载表盘文件并部署到WAMP
(1).从 https://amazfitwatchfaces.com 下载喜欢的mi5手环的表盘;
(2).在手机删除/Android/data/com.xiaomi.wearable/files/WatchFace 下面的所有文件,并在APP删除全部表盘;
(3).在小米穿戴中下载一个表盘并记住,去 /Android/data/com.xiaomi.wearable/files/WatchFace 下查看新增的文件名并复制下来,假设名字叫 A;
(4).打开WAMP的安装目录www文件夹,创建新的文件夹plato-article,例如我安装在D盘,最终的路径就是D:/wamp64/www/plato-article,将下载的第三方表盘重命名为 developer_A.bin,复制到 D:/wamp64/www/plato-article下面, A 就是步骤三中记录的表盘名称,之后重新WAMP所有服务;
(5).在C:/Windows/System32/drivers/etc/hosts中增加记录,绑定 127.0.0.1 cdn.cnbj1.fds.api.mi-img.com
说明:cdn.cnbj1.fds.api.mi-img.com 是小米手环表盘的同步地址,是http请求,所以不用在手机安装fiddler证书
(6).然后使用电脑或手机浏览器访问 http://cdn.cnbj1.fds.api.mi-i... ,查看是否能够弹出下载提示,如果能则说明部署成功。
5.使用小米穿戴app同步第三方表盘
(1).手机清除后台重启小米穿戴,保证WAMP的host指向生效;
(2).删除/Android/data/com.xiaomi.wearable/files/WatchFace 下面的所有文件;
(3).在小米穿戴中重新下载之前记住的表盘,手机显示下载时,如果可以在 fiddler 中过滤 url cdn.cnbj1.fds.api.mi-img.com 看到手机发送的请求,说明小米穿戴会把第三方的表盘同步下来。
(4).当手环提示表盘同步成功时就能在小米穿戴和手环上看到,记录名为A的表盘已经被替换成了第三方表盘。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。