如何自己实现 esim.me APP (思路)

查看 12|回复 0
作者:Roope   
前言
前两天我发一篇帖子 较低价格的 eSIM.me 平替 中提到可以用 60/70 元的价格购买到 eSIM.me 低价平替。但是,平替版本并没有 App 支持,需要用 PC/SC 读卡器管理或用 OpenEUICC 来管理 eSIM Profiles 。
其中 PC/SC 需要额外的硬件支持,使用上也不方便。OpenEUICC 需要 root 后才能使用,而且部分国产手机阉割相关 API ,导致不能正常使用。那么有没有办法自己实现一份 esim.me 应用呢,下面我将会根据现有源码提供实现思路(为啥是思路,因为我不会写 Android )。
思路
通过阅读 实现 eSIM 卡 我们可以知道 Android 提供了 EuiccManager 一系列 API 来实现管理 eSIM Profiles ,但是此 API 需要系统权限才能调用,也就是自行实现 LPA App 在没有 root 权限的情况下几乎不可能了,而且很多国产 OS 是阉割了相关 API 的。经过阅读 LPADesktop的源码和查阅相关资料我们可以得知,管理 eSIM Profiles 是通过往卡片发送 APDU 命令实现切换、下载逻辑。在 Android 9 以后的设备有一个 Open Mobile API 可以实现直接和 UICC(eUICC) 通讯、发送 APDU 命令来实现不通过 Android API 管理 eSIM Profiles.
得益于开源项目的发展,和 eUICC 通讯已经有现成的库可以用 LPAd_SM-DPPlus_Connector,在开发自己的 Android 应用时我们只需要自己 OMAPI Channel 自行实现 ApduChannelImpl 即可完成和 eUICC 通讯,后续自行实现管理界面即可。
解包了 eSIM.me 的 APP , 他们也是用的 OMAPI 实现,所以才无需 root 权限和 API 阉割
您需要登录后才可以回帖 登录 | 立即注册

返回顶部