优化了好一阵子的 Pixel 4 XL 2D 人脸解锁模块,现在终于整理完成并上线 GitHub。源码、APK、安装说明、兼容性记录和测试报告都已经公开,感兴趣的朋友可以直接下载体验,也欢迎一起改进。

更新记录(2026-09-12):项目已更新至 v0.8.1,重点优化了识别安全边界、会话竞态和识别速度。本文以下内容以当前版本为准。

项目地址:Vickylines/Pixel4xl-2DFaceUnlock
最新版本:Pixel2DFaceUnlock v0.8.1

为什么做这个模块

Pixel 4 XL 原本配备红外与深度硬件,但在一些较新的第三方 ROM 中,原生 3D 人脸解锁并不能正常使用。手机本身没有指纹识别,一旦失去原生面容功能,日常点亮屏幕之后就只能频繁输入 PIN 或密码。

这个项目的目标很直接:在已经 Root、安装了 LSPosed,并使用 Pixel/AOSP 类 SystemUI 的设备上,通过普通前置摄像头补上一套方便日常使用的 2D 人脸解锁。

它现在能做什么

模块通过 LSPosed 注入 com.android.systemui,识别过程不会显示自拍预览,解锁动画也直接融入原生锁屏。

  • 在普通锁屏页面识别成功后,小锁会变为解锁状态,向上滑动即可进入桌面。
  • 已经进入 PIN 或密码页面时,识别成功可以直接完成当前解锁。
  • 支持“面容光环”和“灵动岛”两种锁屏动画。
  • 重启后的第一次解锁、锁定模式以及系统要求强认证时,仍然必须输入 PIN 或密码。
  • 模块不修改 ROM、boot、system 或 vendor 分区;停用 LSPosed 模块并重启即可恢复原来的锁屏行为。

当前版本为 v0.8.1。v0.8.0 引入的 v3 模板仍是当前识别基础:同时使用 49 区局部纹理、25 区核心区域和 7 维脸部几何进行双重身份校验,并通过多帧稳定确认。

v0.8.1 在此基础上加入了有时限的采集窗口:闭眼、丢脸或关键质量检查失败时会清空旧投票,普通路径要求最近两帧匹配;连续出现明显匹配的好帧时,还会进入更严格的四帧确认路径。身份阈值没有放宽,普通睁眼概率门槛提高到了 0.70。会话结果只消费一次,并检查结果是否过期以及唤醒代次,取消会话后的异步结果不会再提交认证。

这一版还合并了配置读取,改进了模板的完整读改写,遇到异常模型会拒绝加载并报告录入保存失败,同时修复了相机取消与解绑之间的竞态。默认发布包改为不可调试的 Release 构建,逐帧诊断默认关闭,并沿用原来的安装签名。

在 Pixel 4 XL(coral)、LineageOS 23.2、Android 16 的 2026-09-07 真机测试中,三次“首帧到识别成功”耗时为 384 / 230 / 220 ms,中位数为 230 ms;相同口径下 v0.8.0 的中位数为 381 ms。这里测量的是相机首帧到识别成功,不是从点亮屏幕到进入桌面的总耗时;样本也只有一台设备,不代表所有 ROM、光线和设备都能得到相同速度。

适用范围

项目面向带可用前置摄像头的 arm64-v8a Google Pixel 设备,代码覆盖 Android 10–16(API 29–36),优先适配 Pixel 原生系统、LineageOS 及其他接近 AOSP SystemUI 的 ROM。

这里需要把“兼容”和“实测”分开说:目前完成完整真机验证的是 Pixel 4 XL + LineageOS 23.2 + Android 16,v0.8.1 的双眼闭合、单眼闭合、快速重锁和系统强认证回归也在这套环境中通过。Android 10–15 已完成对应兼容编码和构建检查,但尚未在每一个版本、每一台 Pixel 上逐一验证;Android 17 及未来未审计版本会安全停用。三星、小米、OPPO、vivo 等深度修改 SystemUI 的系统也不在支持范围内。

安装方法

安装前请确认设备已经解锁 Bootloader,Magisk Root、Zygisk 和 LSPosed 均能正常工作,并提前备份重要数据。

  1. GitHub Releases 下载最新版 APK。
  2. 安装 APK;从旧版升级时直接覆盖安装,不要先卸载。v0.8.0 升级到 v0.8.1 会保留 v3 模板,无需重新录入;v0.7.x 或更早版本升级仍需要重新录入一次。
  3. 在 LSPosed 中启用“Pixel 2D 人脸解锁”,作用域只勾选“系统界面(com.android.systemui)”。
  4. 完整重启手机,先按系统要求输入一次 PIN 或密码。
  5. 打开模块,确认“LSPosed 钩子已加载”,再录入人脸并测试。

当前发布包文件名为 Pixel2DFaceUnlock-coral-0.8.1-safety-speed.apk,SHA-256 为 5B52D0B1E76E510A5314089B2DCE698D245413957A5F4DA13421E8724FDEABE5。更完整的步骤和排错方法请以仓库中的中文安装说明为准。

必须说明的安全边界

这个模块使用的是普通 RGB 前置摄像头,不是 Pixel 4 XL 原装的红外/深度 3D 人脸识别,也不具备 Class 3 生物识别的安全强度。v0.8.1 的睁眼门槛和时间窗口能减少部分旧结果误用,但不等于可靠的活体检测;高质量照片、视频或屏幕重放仍有可能绕过,因此它只适合便利解锁,不能替代 PIN、密码或强生物识别。

它不会向银行、支付、密码库等应用提供系统生物认证。当前实现没有网络权限,人脸特征保存在应用私有目录,不保存录入时的原始照片,也不会上传。

如果手机里有高价值资料,或者对失窃后的数据保护要求较高,建议不要启用 2D 人脸解锁。Root、Magisk 和 LSPosed 本身也会扩大系统改动范围,安装前请理解风险,并准备好可恢复的 boot/init_boot 镜像。

写在最后

把项目放上 GitHub,不只是为了提供一个 APK,也希望每一项兼容判断、安全限制和测试结果都能被看见。它目前还称不上“装上就适配所有 Pixel”,但至少在已经完成验证的环境里,v0.8.1 让 Pixel 4 XL 多了一种更稳妥、也足够顺手的日常解锁方式。

欢迎提交 Issue、测试反馈或 Pull Request。尤其是 Android 10–15、其他 Pixel 型号和不同 AOSP ROM 的实测结果。

项目主页:https://github.com/Vickylines/Pixel4xl-2DFaceUnlock