TL;DR
文末提供了通用 Magisk 模块下载(MiPushFix.zip
),刷入后删除 /data/data/com.xiaomi.xmsf
文件夹,重启即可
前言
书接上回,有了小米钱包后,「刷卡」这一基本需求算是得到了满足,但是国产软件的消息推送仍然是一大难关,我们知道 MiPush 在国内运营已久,大部分国产软件都已经支持了 MiPush 推送框架,并且会在检测到 MiPush 框架后保持比较克制的后台运行行为(腾讯系除外🌝)。而 MIUI 国际版 / EU 版砍掉了 MiPush 框架,Yuuta 开发的 MiPushFramework 也不能在 MIUI 上运行,所以只能另辟蹊径自己解决了。
思路
和添加小米钱包时遇到的问题一样,由于动态分区的缘故,我们不能直接对 /system
分区进行修改,所以还是要借助 Magisk 框架来实现。
首先要弄明白 MiPush 所依赖的文件,这里参考了酷安社区的一篇文章,其中提供了用于修复 MiPush 的卡刷包,研究了一下发现主要修改的就是 /cust
分区的内容,有了思路我们就可以开始制作 Magisk 模块了
制作 Magisk 模块
这次使用了酷安用户碎念原创制作的 Magisk 模块模板(发布地址,下载地址),下载后解压备用。
接着下载 /cust
分区文件(cust.zip
,下载地址在文末提供),下载后解压至模块模板的 /system
目录下(记得先将 /system
目录下的 placeholder
文件删除),解压后的目录结构应如下图所示
接着使用编辑器打开 system.prop
,将其中的内容全部删除并加入如下内容:
ro.miui.cust_variant=cn
ro.miui.region=CN
保存并退出,按照喜好修改 module.prop
的内容(主要控制在 Magisk Manager 模块界面的展示效果,没有实际作用)。
将所有文件压缩为 .zip
格式,导入手机并使用 Magisk Manager 刷入,暂时不用重启。
使用任意文件管理器(Solid Explorer / MT 管理器等),授予其 root 权限,访问 /data/data
目录,找到 com.xiaomi.xmsf
文件夹,并将其删除。
重启手机,打开任意支持 MiPush 的软件(比如京东 / 酷安等),然后查看 App 的应用信息,点击【通知管理】,然后滑动到页面最下端,如果看到 MI PUSH / 小米推送字样则为成功,也可以在酷安社区 #mipush
话题下发帖,如果在没有开启软件的情况下收到回复通知也可证明测试成功。
效果展示
资源下载
文章中所提到的资源文件以及我制作好的 MiPush 模块可以在这里下载,访问密码为 sspai