MIUI 9 欧洲版移植小米公交、支付等服务

2017-09-29 14:10:38 +08:00
 linusyang
原因:因同时需要使用 Android Pay,MIUI 官方版装 GApps 仍然通不过 SafetyNet 验证,且 Google Play 是未验证的状态,转而刷 xiaomi.eu 的固件(即欧洲版,俗称波兰版)。不过小米支付都被精简掉了,只能自己动手移植回来。

操作很简单:把俗称“卡刷包”的官方 OTA 完整固件 system.img 提取出来,然后 deodex 以后放在 /system/app 目录即可。需要提取的 apk 有三个,Mipay.apk 、TSMClient.apk 和 UPTsmService.apk 。前两个要 deodex,最后一个 apk 直接拷贝即可。

手机型号 MIX 2,已测试可以绑定银行卡和开通公交卡。提取和 deodex 推荐用 https://bitbucket.org/superr/superrs-kitchen 的一条龙服务。

补充 1:支付安全问题可以通过全盘加密保障 (FBE),这样进恢复模式也需要先解密。xiaomi.eu 的固件取消了 boot.img 里面的强制加密,直接刷机后默认是解密状态,且无法再次加密。

唯一的方法是恢复 boot.img 的强制加密,这样在刷完固件第一次启动的时候会自动加密 /data 分区。恢复的方法是把 boot.img 里面 fstab.qcom 里面 /data 条目的加密选项从 encryptable=ice 改为 fileencryption=ice,具体含义可参见官方 API 文档。
58099 次点击
所在节点    Android
189 条回复
xiaozhizhu1997
2017-12-15 11:24:24 +08:00
之前用 MI5,刷国际版,直接装两个 APK,发现只能用原有的银行卡 /公交卡,不能新绑 /开,删了就只能刷回中国版绑回来了...
看来把 APK 们固化很重要啊...
linusyang
2017-12-15 14:09:11 +08:00
@Jormin 新版好像还依赖其他 apk,我有空研究一下新版的机制。
@xiaozhizhu1997 不能开卡是因为国际版缺组件,银联的、NFC 的都少。eu 版的底包是国内版,不是国际版,所以补补 apk 就能用。
Jormin
2017-12-15 17:57:31 +08:00
@linusyang 大神!我这种技术白就只能指望你了(捂脸
wangyilin1226
2017-12-17 21:14:28 +08:00
@linusyang 小米钱包新版加入了 NFC 卡片模拟,应该是缺这个吧。
coldwan
2017-12-31 16:20:19 +08:00
@wangyilin1226 @linusyang 我刷了国际版的,钱包打开可以看到公交卡余额,3 张银行卡,但是点进公交卡就让我把系统默认钱包切换到小米钱包,可是在 NFC 下面根本没有这个选项,安全模块已经是使用 HCE 钱包了。
coldwan
2017-12-31 16:54:44 +08:00
@coldwan 也没有 内置安全模块 这个选项
linusyang
2017-12-31 18:12:37 +08:00
@coldwan 国际版的不行,eu 版不是国际版。
coldwan
2017-12-31 22:04:16 +08:00
@linusyang 嗯 我知道。貌似解决国际版中的 内置安全模块 应该就可以了
wangyilin1226
2018-01-07 16:56:10 +08:00
似乎官方 NFC 模拟比软件做得更好 并且不需要 root 权限 过两天 MIX2 就要更新到 Android Oreo 了 希望大佬可以研究一下新版机制
Jormin
2018-01-12 15:39:42 +08:00
每天都来刷一刷 看看大神更新了没- -
wangyilin1226
2018-01-13 19:34:17 +08:00
@linusyang realease 中有了强制加密的文件,看到 mokee 开发者 XiNGRZ 提到在开启了 FBE 的手机上运行不支持 FBE 的 ROM (反之亦然),那么在格式化 data 后刷入运行的 MIUI.eu 能够正常运行是否说明官方已经开启了 FBE?
wangyilin1226
2018-01-13 19:49:49 +08:00
不好意思,通过 rec 确定了 FBE 可以通过后期处理加入= =
wangyilin1226
2018-01-14 13:22:55 +08:00
最新版 MIUI.eu 9.2.5.0 稳定版刷入小米钱包后 NFC 选项中没有系统安全模块无法调用小米钱包支付
wangyilin1226
2018-01-14 22:15:07 +08:00
再次确认刷入其他版本的也无法调用,疑似 9.2.5.0 在 NFC 设置中屏蔽了系统安全模块
srwgin
2018-01-16 14:10:55 +08:00
如果是其他机型的话 具体步骤是不是这样
1.在本来国内版 rom 上 登陆小米账号 然后小米钱包创建交通卡并且绑定银行卡
2.解锁 bl 刷 twrp 清数据 刷欧盟版 rom
3.下载 mipay-extract 下载国内最新 rom 扔在一个目录后 运行 extract.bat 后得到 apk
4.把 apk 扔到 /system/app 重启
5.重启后就能正常使用了
是不是这样一个过程
如果不做 1 的话 是不是在欧盟版 rom 里面不能开卡和充值
srwgin
2018-01-16 15:04:55 +08:00
顺便 如果用你的自动处理脚本 其他机型的话 除了改 2 个 rom 下载地址之外,其他还有代码要针对自己机型进行处理吗 谢谢
rility
2018-01-18 16:05:16 +08:00
谢谢 op,用你做好的 zip 可以使用
设备 mi6 版本最新国际版体验版 之前那些说没有内置安全模块的,可以在 build.prop 里进行更改 ro.se.type=HCE,UICC,eSE 即可
推荐做成 magisk module
linusyang
2018-01-19 23:19:31 +08:00
@rility 谢谢提醒,已经在最新的版本里加了这个修复。
@srwgin 其他理论上应该不用改的。
@wangyilin1226 eu 版又开始乱改东西了,刷最新版的包会自动修复,开发板稳定版都重新打包了。FBE 那个包就是我在主贴里提到的,只是以前忘了放出来。
linusyang
2018-01-20 00:00:11 +08:00
@srwgin 补充一下,步骤 1 可以不需要,应该可以开卡充值的。我手机拿到手一解锁就刷了 eu 版和 mipay 包,基本没有用过原版国内系统。
wangyilin1226
2018-01-21 07:02:29 +08:00
请问强制加密的 zip 包是每刷一边系统都要重新刷入吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/394591

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX