最近买了小米手环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
里面介绍了原理,我在此复述一下。apache
使用电脑进行网页代理劫持,将
http://cdn.cnbj1.fds.api.mi-i..._XXXX.bin
劫持到本地计算机环境,并将对应bin替换为表盘文件windows
智能穿戴自身更换表盘逻辑:api
1. 检测自身data文件夹是否存在
2. 检测/Android/data/com.xiaomi.wearable/files/WatchFace是否存在
3. 从新从网络下载浏览器
其中,第二步会对文件进行检测,若是文件MD5不正确会断定为不存在,从新进行下载,所以只能在第三步进行操做网络
原做者的环境是MacOS,Charles,MAMP;用MAMP创建本地服务,用Charles抓包,我是windows环境,因此选取的工具为:Wampserver创建服务,Fiddler 用来抓包。app
Wampserver下载地址:https://www.wampserver.com/en/
版本:WAMPSERVER 64 BITS (X64) 3.2.0工具
Fiddler下载地址:https://www.telerik.com/fiddler
版本:Fiddler Everywhere 1.0.1ui
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中设置的开放端口),下一步后添加个规则名称便可。url
2.安装Fiddler
安装好 Fiddler 以后,配置对手机进行抓包,依次点击 Setting, connections,配置端口,勾选两个选项,点击save 保存。spa
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/wwAw/plato-article,将下载的第三方表盘重命名为 developer_A.bin,复制到 D:/wamp64/wwAw/plato-article下面, A 就是步骤三中记录的表盘名称,
(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).手机清除后台重启小米穿戴,保证MAMP的host指向生效;
(2).删除/Android/data/com.xiaomi.wearable/files/WatchFace 下面的全部文件;
(3).在小米穿戴中从新下载以前记住的表盘,手机显示下载时,若是能够在 fiddler 中过滤 url cdn.cnbj1.fds.api.mi-img.com 看到手机发送的请求,说明小米穿戴会把第三方的表盘同步下来。
(4).当手环提示表盘同步成功时就能在小米穿戴和手环上看到,记录名为A的表盘已经被替换成了第三方表盘。