Repository navigation
Releases: Syngnat/lumina-euicc
Release list
Lumina eUICC 0.2.0
本次更新
- 将首页仪表盘、通道选择、eUICC 身份摘要、配置卡片和软件更新页面拆为职责明确的 Flutter 组件;既有交互、公开 API 与测试 key 保持兼容。
- 统一通道、Profile 和 eUICC 信息的刷新入口,减少页面间重复编排 provider 刷新的维护风险。
- 补充仪表盘组件测试,并修复 USB 通道标签与类型详情同名时的测试定位歧义。
- 本版本聚焦可维护性和回归稳定性,不扩大任何白卡、Profile 写操作或 USB CCID 的真实硬件验证范围。
现有能力与边界
- Profile 列表接口不提供单个配置的精确占用大小;仅在公开观测样本与当前 EID 芯片族可靠匹配时显示“约 xx KiB”,无法可靠匹配时隐藏该字段,不会把估算值冒充卡片测量值。
- 保号提醒使用 Android AlarmClock 调度和高优先级“eSIM 保号闹钟”通道;未获得精确闹钟权限时仍保留可恢复的非精确调度并提示用户开启权限。首页顶部铃铛只展示本机保号提醒,卡片侧待上报技术事件在设置页单独展示。
- 保留密集配置仪表盘、单国旗、ICCID 脱敏、启停互斥、微流量检查、重命名和删除等既有能力。
- 设置 → 软件更新仅检查本项目官方不可变 GitHub Release,自动选择与当前安装一致的 APK 架构,下载后校验 GitHub SHA-256、包名、新版本和完整四签名集合,再交给 Android 系统安装器确认。
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.2.0-11-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.2.0-11-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.2.0-11-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.2.0-11-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡使用 Lumina 0.1.2 在 OPPO PME110 / OP61C1L1(Android 16 / API 36)复测:系统枚举出 SIM 0 和 SIM 1,SIM 0 已到达 ISD-R 访问检查,随后访问控制拒绝当前 Lumina 身份;这证明手机侧 OMAPI/ISD-R 路径存在,并不是手机通道被锁。店铺相同仍不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
77a8f26259c917b9361f3511913fa4657297bb14 - ZIP SHA-256:
471e741025f94b7d4db01855493ae4ade0959382ebb640fb148522f77fdbff41
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.9
本次更新
- Profile 列表接口不提供单个配置的精确占用大小;本版本在公开观测样本与当前 EID 芯片族可靠匹配时显示“约 xx KiB”,无法可靠匹配时隐藏该字段,不再显示“大小未知”,也不会把估算值冒充卡片测量值。
- 保号日期改用 Android AlarmClock 调度,并使用新的高优先级“eSIM 保号闹钟”通道,默认播放系统闹钟铃声并振动;未获得精确闹钟权限时仍保留可恢复的非精确调度并提示用户开启权限。
- 首页顶部铃铛现在只展示本机保号提醒,不再混入卡片侧技术事件。配置安装、启用、停用或删除后等待服务端上报的事件移到设置页,并明确标记为“eUICC 待上报事件”。
- 保留密集配置仪表盘、单国旗、ICCID 脱敏、启停互斥、微流量检查、重命名和删除等既有能力。
- 保留 设置 → 软件更新:仅检查本项目官方不可变 GitHub Release,自动选择与当前安装一致的 APK 架构,下载后校验 GitHub SHA-256、包名、新版本和完整四签名集合,再交给 Android 系统安装器确认。
- 配置大小属于估算,闹钟声音仍受 Android/ColorOS 通知通道设置影响;Profile 写操作也仍需更多真实白卡验证。
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.1.9-10-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.9-10-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.1.9-10-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.1.9-10-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡使用 Lumina 0.1.2 在 OPPO PME110 / OP61C1L1(Android 16 / API 36)复测:系统枚举出 SIM 0 和 SIM 1,SIM 0 已到达 ISD-R 访问检查,随后访问控制拒绝当前 Lumina 身份;这证明手机侧 OMAPI/ISD-R 路径存在,并不是手机通道被锁。店铺相同仍不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
883d06aeca25c579bc6ae6e0108db5bdae565021 - ZIP SHA-256:
57d29e3219d79085b06ce4200cdc208fbeb5ea26cd1749fff37d83bcee467650
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.8
本次更新
- 将已确认的密集配置仪表盘接入生产首页:集中展示当前通道、脱敏 EID、真实可用 NVRAM、通知入口和新增 eSIM 入口。
- Profile 卡片进一步压缩,一屏可查看更多配置;每张卡片只显示一个国家或地区旗帜,ICCID 默认脱敏并支持长按复制。
- 启用与停用改为卡片内直接开关,增加单任务互斥、等待状态、失败提示和操作后的真实数据刷新,避免重复点击触发并发切换。
- 保号提醒、微流量保号检查、重命名、删除等既有操作继续保留在紧凑卡片中。当前 LPA 数据模型不提供单个 Profile 的可靠占用大小,因此界面明确显示“大小未知”,不会伪造容量数据。
- 保留 设置 → 软件更新:仅检查本项目官方不可变 GitHub Release,自动选择与当前安装一致的 APK 架构,下载后校验 GitHub SHA-256、包名、新版本和完整四签名集合,再交给 Android 系统安装器确认。
- 本版本的 Profile 启停仍需更多真实白卡验证;界面与桥接路径完成不等于所有卡片、固件和手机组合均已通过写操作验证。
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.1.8-9-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.8-9-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.1.8-9-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.1.8-9-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡使用 Lumina 0.1.2 在 OPPO PME110 / OP61C1L1(Android 16 / API 36)复测:系统枚举出 SIM 0 和 SIM 1,SIM 0 已到达 ISD-R 访问检查,随后访问控制拒绝当前 Lumina 身份;这证明手机侧 OMAPI/ISD-R 路径存在,并不是手机通道被锁。店铺相同仍不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
8396a25a275761354199ad94609d426cb125da5e - ZIP SHA-256:
e289fa9edb6726c773b50b1d11d39e32a2e5ea6022b4795c4a2003e91c0197d5
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.7
本次更新
- Profile 菜单新增 保号提醒:可设置、修改或取消日期与时间,并在卡片底部显示下一次提醒时间。
- 到时由 Android 系统发送本地通知;手机重启、应用升级或进程重启后会自动恢复调度。删除 Profile 会一并取消提醒,重命名后通知名称会同步更新。
- Android 13+ 会按需请求通知权限;Android 12+ 未授予“闹钟和提醒”特殊权限时仍会保存日期,并自动降级为可能稍有延迟的非精确提醒。
- 提醒数据仅保存在本机应用私有目录;Profile ICCID 只用于生成不可逆的 SHA-256 本地键,不保存 ICCID 明文,也不会上传提醒数据。
- 保留 设置 → 软件更新:仅检查本项目官方不可变 GitHub Release,自动选择与当前安装一致的 APK 架构,下载后校验 GitHub SHA-256、包名、新版本和完整四签名集合,再交给 Android 系统安装器确认。
- 更新不是静默安装;Android 仍会要求用户确认,并可能先要求为 Lumina 开启“安装未知应用”。已安装
0.1.3或后续版本的用户可以直接通过应用内更新升级到本版本。
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.1.7-8-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.7-8-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.1.7-8-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.1.7-8-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡使用 Lumina 0.1.2 在 OPPO PME110 / OP61C1L1(Android 16 / API 36)复测:系统枚举出 SIM 0 和 SIM 1,SIM 0 已到达 ISD-R 访问检查,随后访问控制拒绝当前 Lumina 身份;这证明手机侧 OMAPI/ISD-R 路径存在,并不是手机通道被锁。店铺相同仍不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
0521a64c5b3a3d5128c89bee36f6950cc57b80d3 - ZIP SHA-256:
5ca33641e22b32efaf97b11c6c5d2aaa729c7c5eb44aca87babac6fb9e8b9ab6
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.6
本次更新
- Profile 菜单新增 保号提醒:可设置、修改或取消日期与时间,并在卡片底部显示下一次提醒时间。
- 到时由 Android 系统发送本地通知;手机重启、应用升级或进程重启后会自动恢复调度。删除 Profile 会一并取消提醒,重命名后通知名称会同步更新。
- Android 13+ 会按需请求通知权限;Android 12+ 未授予“闹钟和提醒”特殊权限时仍会保存日期,并自动降级为可能稍有延迟的非精确提醒。
- 提醒数据仅保存在本机应用私有目录;Profile ICCID 只用于生成不可逆的 SHA-256 本地键,不保存 ICCID 明文,也不会上传提醒数据。
- 保留 设置 → 软件更新:仅检查本项目官方不可变 GitHub Release,自动选择与当前安装一致的 APK 架构,下载后校验 GitHub SHA-256、包名、新版本和完整四签名集合,再交给 Android 系统安装器确认。
- 更新不是静默安装;Android 仍会要求用户确认,并可能先要求为 Lumina 开启“安装未知应用”。已安装
0.1.3或后续版本的用户可以直接通过应用内更新升级到本版本。
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.1.6-7-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.6-7-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.1.6-7-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.1.6-7-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡使用 Lumina 0.1.2 在 OPPO PME110 / OP61C1L1(Android 16 / API 36)复测:系统枚举出 SIM 0 和 SIM 1,SIM 0 已到达 ISD-R 访问检查,随后访问控制拒绝当前 Lumina 身份;这证明手机侧 OMAPI/ISD-R 路径存在,并不是手机通道被锁。店铺相同仍不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
362394ea5398eb0a5af2f25074019978d4d79924 - ZIP SHA-256:
e6fec9803292de71956ff6d4649fd515f180079f570f489401e3677bf0e1e065
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.5
本次更新
- 修复启用或停用 Profile 触发 SIM Refresh 后,界面立即刷新并报
EuiccChannel not found的问题。Lumina 现在会等待 OMAPI 通道重新连接后再读取配置。 - 通道仍在恢复时会自动进行一次有限重试;超过恢复时间后改为显示本地化的重连说明和“重试”按钮,不再向用户暴露原生异常堆栈。
- 新增经确认的密集 Profile Dashboard 视觉基线:每张配置仅保留一个国旗,不再重复显示运营商头像和标题国旗,为后续真实数据界面迭代提供回归基准。本项是设计预览,不改变当前生产 Profile 卡片的数据来源。
- 保留 设置 → 软件更新:仅检查本项目官方不可变 GitHub Release,自动选择与当前安装一致的 APK 架构,下载后校验 GitHub SHA-256、包名、新版本和完整四签名集合,再交给 Android 系统安装器确认。
- 更新不是静默安装;Android 仍会要求用户确认,并可能先要求为 Lumina 开启“安装未知应用”。已安装
0.1.3或后续版本的用户可以直接通过应用内更新升级到本版本。
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.1.5-6-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.5-6-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.1.5-6-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.1.5-6-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡使用 Lumina 0.1.2 在 OPPO PME110 / OP61C1L1(Android 16 / API 36)复测:系统枚举出 SIM 0 和 SIM 1,SIM 0 已到达 ISD-R 访问检查,随后访问控制拒绝当前 Lumina 身份;这证明手机侧 OMAPI/ISD-R 路径存在,并不是手机通道被锁。店铺相同仍不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
659a9c4242d290afae349402ea6e8ef37108d391 - ZIP SHA-256:
1cdf121e610ec9751e190572168cd1afecbe2b47b849b0204ab01714bb729ac9
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.4
本次更新
- Profile 卡片改为紧凑的两行布局,标准卡片高度约 93 px,四张配置可在常见手机屏幕上更集中地浏览,同时保留状态、地区、ICCID 复制和操作菜单。
- 地区展示现在优先使用已知品牌/运营商身份,元数据不足时再按 E.118 ICCID 国家码显示国旗和“发卡地区”。该地区是发行方标识的注册地,不代表 Profile 实际可漫游或提供服务的国家;共享码、全球码或非法 ICCID 仍会保守地显示“地区未知”。
- 新增 设置 → STK 管理:打开系统“SIM 卡工具包”中的卡内 LPAe 菜单,优先使用双卡选择入口,并兼容 OPPO/Oplus、MTK 及常见单卡 STK Activity。
- STK 是卡片自己的交互菜单,不会把数据回传给 Lumina,也不会改变 Lumina 通过 OMAPI 访问时的 ARA-M 授权结果;系统未提供或禁用 STK 应用时会明确提示。
- 保留 设置 → 软件更新:仅检查本项目官方不可变 GitHub Release,自动选择与当前安装一致的 APK 架构,下载后校验 GitHub SHA-256、包名、新版本和完整四签名集合,再交给 Android 系统安装器确认。
- 更新不是静默安装;Android 仍会要求用户确认,并可能先要求为 Lumina 开启“安装未知应用”。若当前已安装
0.1.3,可直接在应用内升级。 - 兼容性页继续严格区分“已到达 ISD-R 检查”“已授权打开”和“访问控制拒绝”,避免把手机通道正常但卡侧身份未授权误判为设备不支持。
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.1.4-5-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.4-5-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.1.4-5-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.1.4-5-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡使用 Lumina 0.1.2 在 OPPO PME110 / OP61C1L1(Android 16 / API 36)复测:系统枚举出 SIM 0 和 SIM 1,SIM 0 已到达 ISD-R 访问检查,随后访问控制拒绝当前 Lumina 身份;这证明手机侧 OMAPI/ISD-R 路径存在,并不是手机通道被锁。店铺相同仍不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
4488540727ecadd11f1f72cf7146dce2ecb36a2c - ZIP SHA-256:
10fc0d41922be12be52cd047027c0f3b31720d18f804fbefac9828907b3dcf95
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.3
本次更新
- 新增 设置 → 软件更新:仅检查本项目官方不可变 GitHub Release,自动选择与当前安装一致的 APK 架构,下载后校验 GitHub SHA-256、包名、新版本和完整四签名集合,再交给 Android 系统安装器确认。
- 更新不是静默安装;Android 仍会要求用户确认,并可能先要求为 Lumina 开启“安装未知应用”。
0.1.2本身没有更新器,因此升级到本版本仍需手动下载安装一次。 - 兼容性页继续严格区分“已到达 ISD-R 检查”“已授权打开”和“访问控制拒绝”,避免把手机通道正常但卡侧身份未授权误判为设备不支持。
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.1.3-4-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.3-4-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.1.3-4-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.1.3-4-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡使用 Lumina 0.1.2 在 OPPO PME110 / OP61C1L1(Android 16 / API 36)复测:系统枚举出 SIM 0 和 SIM 1,SIM 0 已到达 ISD-R 访问检查,随后访问控制拒绝当前 Lumina 身份;这证明手机侧 OMAPI/ISD-R 路径存在,并不是手机通道被锁。店铺相同仍不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
41c93f920b2ef11a6663d3a1e4b5d142de0702ae - ZIP SHA-256:
c75aa8806c106e0b0f38d062fb1d05f7a9404baa312304199f9ab56e8d4e3def
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.2
APK 下载选择
Android 系统版本和 CPU ABI 是两件事。Lumina 支持 Android 9+(API 28+),请按设备架构下载:
- 现代手机 / OPPO 等 Android 设备(推荐):
lumina-euicc-0.1.2-3-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.2-3-armeabi-v7a.apk - x86_64 模拟器或少见的 Intel Android 设备:
lumina-euicc-0.1.2-3-x86_64.apk - 不确定架构时的兜底版本:
lumina-euicc-0.1.2-3-universal.apk(兼容本次打包的全部 ABI,但文件更大)
近年的 OPPO/ColorOS 手机,包括 Android 16 机型,应下载 arm64-v8a。后续升级时尽量继续使用同一种 APK;从 ABI 专用版改回 universal 时,Android 可能要求先卸载旧版,但这不会删除可插拔 eUICC 卡内的配置。
白卡兼容性
已记录 1 个具体 9eSIM 白卡/手机组合的只读实测结果:0.1.1 四签名 APK 在 OMAPI 卡槽 1 使用当前应用身份打开 ISD-R,发现端口 1/0、LPA 通道有效,并成功读取多张真实 Profile。该白卡的确切 9eSIM 型号、手机型号和 Android 版本未记录,因此不能据此宣称某个 9eSIM 型号或全部批次已经认证。
同一家店购买的另一张白卡在相同 Lumina 版本下仍被 ARA-M 拒绝。这说明店铺相同不代表卡片个性化数据或有效 ARA-M 规则相同;下载、启停、重命名、删除等写操作也尚未完成实卡验证。以下是结合该有限现场证据、固定版本社区卡片数据库与当前 APK 签名得出的候选判断,不是兼容保证:
- 签名指纹匹配候选:9eSIM v3、V2S、v0,eSIM.gg Card,蚊子玩卡 S3;公开数据列出了 Lumina 已包含的 9eSIM 社区证书,但型号未知的一次成功读取不能认证其中任何完整型号,仍需确认实际卡片没有不兼容的包名绑定,并在目标手机上实测。
- 需要卡侧配置:ESTKme Light、Plus、Max;公开数据中的默认规则没有当前 Lumina 签名,只有先把卡的可变 ARA-M 列表配置为允许 Lumina 当前签名,并正确处理包名绑定,才属于候选。
- 未知:通用白卡、无品牌白卡或只标注“GSMA 证书”的卡。EID 前缀、芯片厂商、STK 菜单和 GSMA 生产认证均不等于 ARA-M 应用授权。
完整证据、固定数据源和购买前检查项见白卡兼容矩阵。
四签名与访问边界
从 0.1.1 起,Release APK 固定使用 1 个 Lumina 私有项目签名 + 3 个可从固定上游源码公开复现的社区签名:
- Lumina:
10:0C:A7:FD:2C:E4:B7:12:BA:3C:88:4C:AE:20:FD:33:25:ED:85:E0 - Sakura:
65:D0:57:18:54:AF:EC:51:9A:90:F9:2D:7C:5D:8C:F8:14:8D:A3:73 - ShiinaSekiu Community:
C4:73:50:C7:BA:68:2B:34:A3:E5:84:A0:D5:84:63:EA:42:B1:AD:73 - 9eSIM:
D1:C0:F4:8B:37:0E:74:D4:EA:47:70:ED:4C:3C:D7:0A:31:98:D3:1F
三个社区签名用于覆盖公开的 ARA-M 证书规则;Lumina 私有签名仍是更新安全锚点。Android 覆盖升级要求 APK 保留完整四签名集合,公开社区签名不能单独伪造本项目更新。签名来源、固定上游提交和安全边界见社区多签名策略。
手机 SIM 卡槽内的可插拔 eUICC 仍由卡侧 ARA-M 决定:无包名绑定的规则可匹配四个 current signer 中任意一个;有包名绑定时还必须允许 top.syngnat.lumina.euicc。这不是 Android 运行时权限,用户无法在系统权限页手动批准。
如果已安装仅含 Lumina 原始单签名的 0.1.0 APK,需要先卸载一次再安装四签名版本;卸载应用不会删除卡内 eSIM 配置,但会清除应用本地设置。APK 使用 Signature Scheme v2,并关闭 v1、v3。
USB CCID 说明
USB CCID 使用 Android USB Host 通道,不依赖手机卡槽的 ARA-M 规则。但当前实现尚无已认证读卡器,Flutter 主界面也尚未补齐完整的 USB 授权请求和插拔自动刷新流程;如果 Android 没有预先授予访问权,或设备未被当前连接路径识别,读卡器仍可能显示不可用。因此它是“传输代码已接入、真实硬件未验证”的候选路径。
Release 构建在无法打开真实 OMAPI/USB 通道时会明确显示不可用,不会展示 debug mock 配置。
发布资产、源码与许可
本 Release 自定义上传资产只有上面的 4 个 APK。GitHub 会按不可变版本标签自动附加 Source code (zip) 和 Source code (tar.gz);这是平台固定条目,无法由项目隐藏或删除。
同一次受信任 CI 会生成并校验精确提交源码、依赖源码/清单、SOURCE_INFO.txt、SHA256SUMS、依赖清单和嵌套许可证材料。完整的非 APK 对应源码与合规材料会合并为一个持续公开的 ZIP,追加到专用 release-materials 分支。下面的链接固定到该分支的精确提交,不会随分支后续更新漂移:
- 下载此版本的完整 source-materials ZIP
- materials commit:
de02f14680ceff53721d134965ce86b8d7e69462 - ZIP SHA-256:
94811b2df2b7ce873d9a235cefe811d4bdca7140d056ace1328bd8dfadd3a61e
同一次构建的完整 bundle 还会作为 Actions 审计 artifact 保留 90 天;持久 ZIP 不依赖 Actions 的保留期。GitHub Release 的每个 APK 条目会显示其 SHA-256 摘要。
CI 已检查包名、SDK、ABI、v2 签名、关闭的 v3、四个 current signers、证书指纹、ZIP 对齐和 64 位 ELF 对齐。这些构建证据不等于在所有手机、白卡或 USB CCID 读卡器上完成真实硬件验证。
Lumina eUICC 0.1.1
APK 下载
- 现代 Android 手机(推荐):
lumina-euicc-0.1.1-2-arm64-v8a.apk - 老旧 32 位 ARM 手机:
lumina-euicc-0.1.1-2-armeabi-v7a.apk - x86_64 模拟器/设备:
lumina-euicc-0.1.1-2-x86_64.apk - 不确定架构:
lumina-euicc-0.1.1-2-universal.apk
Lumina 支持 Android 9+;Android 系统版本和 CPU ABI 是两件事,现代手机通常选择 arm64-v8a。
社区签名与白卡边界
本版本使用 Lumina、Sakura、ShiinaSekiu Community、9eSIM 四个 current signers。手机卡槽白卡仍须由 ARA-M 命中其中至少一个签名;若规则绑定包名,还必须允许 top.syngnat.lumina.euicc。
当前完成 Lumina 真机认证的白卡型号为 0。公开数据中的 9eSIM v3/V2S/v0、eSIM.gg Card、蚊子玩卡 S3 仅是签名指纹匹配候选;ESTKme Light/Plus/Max 默认不匹配,需卡侧配置;通用白卡、EID 前缀或“GSMA 认证”不能证明兼容。
精确源码与许可
- 此 APK 对应的精确源码提交
- 完整对应源码、依赖源码、清单与许可证材料
- 材料包 SHA-256:
221b6ccdb0b64612fb1055af11d88492815ac94d174fa3b8a8f16fed4c9fd162
Release 页面自定义上传仅保留四个 APK;GitHub 自动生成的 Source code ZIP/TAR 两项无法隐藏。