一加8氧OS乘车卡

前一段时间刷了氧 OS,发现之前开公交卡的方法没法用了(无法充值),实在找不到成熟的方案,于是就自己去摸索了一下,最后通过装回国内 OP 账号管理与 OP 钱包解决。最终效果为:账号管理是国内版,乘车卡测试可用,门禁卡应该可用(NFC Tools 测试 UID 正确,当前并无实际测试) OP Pay 无测试条件。

本方法不需要Root/解锁。

写在前面

本文章仅供学习,本人对操作不当造成的数据丢失概不负责。请在操作前做好备份以便回滚(尤其是一加账号管理)。

本方法将覆盖海外版一加账号,谨慎操作!

我在操作时是以下环境:

  • OnePlus 8
  • Oxygen OS 11.0.3.3.IN21BA

用到了以下包:

  • 一加钱包 3.5.0
  • 一加账号管理 CN_3.1.2
  • HeyTap OpenID Provider 1.1.0
  • 银联可信服务安全组件 01.00.58 (可选 解 OP Pay 用)

操作过程

一股脑装上去就好了,不过公交卡开通我没测试,如果只是需要公交卡的话只需要装一加钱包,如果有在线充值需求,则安装一加账号管理国内版以及 HeyTap OpenID Provider(由于一加账号迁移 HeyTap 所以需要它,否则登入提示系统错误),如果需要 OP Pay 的话则都安装。

那么我怎么搞到这些 APK

可以从我的Nextcloud下载,或者可以根据以下步骤提取,氢 OS 用户可以在刷氧 OS 前将刚才提及的应用导出下,直接安装即可。

提取步骤

到一加官网(国内版)下载对应机型的最新固件

过程略

Dump

解压 zip 得 payload.bin,使用payload_dumper得各种 img 文件。

类型如下(具体说明请移步Android Architecture ):

在这里我们只需要关心几个可以 mount 的分区就好。

注意:file 得出的结果不一定准确 这里的分区均为 EXT4(没错我被误导找了一上午修复分区的方法 直到我上 adb 确认分区类型。。)

使用以下命令 mount:
sudo mount -o loop,ro system.img /mnt

拿文件就完事了

1
2
3
4
5
system.img
/system/app/By_3rd_HeytapIdProviderChina/By_3rd_HeytapIdProviderChina.apk
/system/priv-app/By_3rd_WalletChina/By_3rd_WalletChina.apk
product.img
/app/Account/Account.apk - 这个文件在安装时会提示没签名 不知道怎么用 但apktool解出来的manifest可以确认是账号管理

一点碎碎念

不知道以后新机型/新版本的固件会不会直接集成 heytap 的账号管理, 集成的话更方便去提取与更新了。