纯净与便捷兼得:如何在国际版/EU 版 MIUI 上使用小米钱包
前些日子入手了 Redmi K30 5G 版,本来想不解锁 安心养老,奈何通过一般方式装入的 框架总会莫名其妙地被干掉后台导致 FCM 无法正常推送,无奈还是在第六天解锁了 并刷入了 MIUI.eu。
完整的 框架的确十分舒适,但同时它也带来了几个问题,其中对我影响最大的就是小米钱包(Mi Pay、小米公交)和小米推送的缺失。
本文便是我在本地化过程中的一些踩坑记录和心得体会,希望可以对有需要的朋友有一些帮助。受限于篇幅,本文暂时只介绍制作小米钱包 模块的方法。
踩坑与转机
为了解决这个问题我将目光投向了在小米 6 时代曾经使用过的 mipay-(),这是国内开发者开发的一个小工具,可以从 MIUI 国内版 ROM 中提取小米钱包相关文件并制作成卡刷包刷入手机(实际上也可以抽取别的 App,下文会讲到)。
不过由于 10 使用了 动态分区,刷入卡刷包这一步骤只能在刷机完成后立马进行(至少在我的 Redmi K30 5G 上是这样),以及卡刷包会破坏 / 分区的结构,导致刷完之后无法进入系统,这个方法显然已经行不通了。
之后我试着在群里求助,有一个人提到「不是有 版的小米钱包模块么」,这才想起来之前看到过类似的帖子,把小米钱包相关的文件做成了 模块刷入,这样就不会破坏 / 分区了。于是找到了 这篇文章,里面提供了作者为 MIX 2S 制作的模块,本着「不要重复造轮子」的心态,我直接下载了文章提供的模块并刷入,结果重启之后应用是有了,但是无法正常使用,提示「NFC 模块异常,请重启手机」。
这个懒看来是不能偷了,只能自己动手了。
自己动手,制作 模块准备文件
这里首先还是要用到上文提到的 mipay-,首先从 项目页上点击右侧的 Clone or → ZIP 将文件下载下来(作者并不推荐在 系统上使用 git clone 命令拷贝分支,因为可能会导致潜在的换行符问题),下载后解压到固定位置备用。
然后从 MIUI 官网 下载你所使用机型的最新的稳定版 ROM,下载完成后放入 mipay- 文件夹。
修改 mipay- 配置文件
注:如果你只需要小米钱包可跳过此步
如果需要加入如国内版应用商店等软件,可以通过修改 .sh 达到此目的,使用编辑器打开这个文件,找到 字段,在后面加入你想添加的其他 App 名称(清单可以在 这里 找到)imToken下载,比如我加入了小米应用商店,就在后面加入 。
制作卡刷包
用户双击执行 .bat,macOS / Unix 用户请先在终端内使用 chmod +x .sh 为 .sh 加入执行权限再运行(在 macOS / Unix 上还需要 JDK 以及 2.7),或者使用 sh .sh 运行脚本。经过漫长的等待,屏幕上提示 --> all done 便代表已经提取完毕,这时应该在目录下面能看到一个以 mipay-机型代号-版本号.zip 格式命名的压缩包。
将压缩包解压,留待备用。
制作 模块
从 这里 下载中文社区提供的 模块模板,仍然是采用「 ZIP」方式来下载。下载完成后将其解压,得到如下图所示的目录结构:
将 / 目录下的 删除,然后将上一步所解压的卡刷包中的 /app 目录复制过来,复制完成后的目录结构应如下图所示
接着我们要来修改 .sh 文件, 部分决定在刷入 模块时会显示什么,可以根据自己的喜好修改im钱包使用介绍详细版,这里略过不表。
将文件第 57 行的 修改为 (这里应该是汉化时的失误),然后在最后【自定义函数】的位置插入如下内容:
on_install() {
ui_print "- Extracting module files"
unzip -o "$ZIPFILE" 'system/*' -d $MODPATH >&2
}
保存退出。然后将整个模板目录下面的文件压缩成 .zip 格式,这样一个简易的 模块就制作完成了。另外你还可以修改 .prop 来更改你的模块在 中的展示效果,少数派已有 文章 介绍,这里也不再赘述。
刷入手机并修改手机设置
将刚刚制作好的 模块传输到手机上,然后在 中刷入并重启手机。
重启之后在「系统设置 > 连接与共享 > NFC > 安全模块位置」中选择「内置安全模块」,所有步骤就算顺利完成啦!
之后就可以在小米钱包 App 中自由添加公交卡 / 银行卡 / 门卡了。
结语
这是我在少数派写下的第一篇文章,也是我第一次尝试自己制作 模块,过程中虽绕了不少弯路,但是最后成功的那一刻还是十分开心的。文笔不佳,有稍显啰嗦的地方还请各位看官见谅,我会努力改进的。
如果你对开头提到的小米推送感兴趣,不妨参考我的另一篇文章文章。同时我也还在研究如何恢复国内版 MIUI 的负一屏功能,希望大家多多支持。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。