为盲人母亲移植 Android 16 到旧按键手机

Porting Android 16 to my blind mother's keypad phone

为盲人母亲移植 Android 16 到旧按键手机

母亲那台老旧的 Nokia 1280 终于彻底报废,我花 400 美元买下了号称专为视障人士设计的 Kapsys SmartVision3,结果却是个充满 Bloatware 的 Android 11 电子垃圾。面对系统崩溃和无法更新的困境,我决定自己动手,通过 ADB 和 mtkclient 逆向分析 Kapsys 对 libinput.so 的修改,最终尝试将 Android 16 的 GSI 刷入这台 Mediatek 设备。从解锁 Bootloader 到解决 vbmeta 签名校验失败,再到通过 expdb 日志定位启动循环的根源,这是一场充满挫败感却又充满技术激情的硬核救援,只为让母亲重新拥有一台好用的按键手机。

世上有两种人:一种是会做备份的,另一种是马上就要做备份的。
  1. zersiax

    呼,真不容易 :)

    把“为老年人/盲人/任何人打造一款 Android 设备,却基于古老的 Android 版本、配置极低却卖高价”这种做法,不幸的是早已不是新鲜事。

    如果你看看 Blindshell 2 和 3,也会发现大量类似情况,更别提像 BrailleSense Polaris 这样更贵的硬件了,我上次检查时它还在运行 Android 5,满屏都是可怕的“正在更新,请稍候?”的 Google Play 警告。

    如果这能帮上忙的话,TalkBack 确实有一套键盘命令可以响应,或许让你的按键触发这些命令能让实现更稳健一些;但鉴于你已经经历的一切,也许现在最好的做法就是彻底别再碰它了 :)

    声明:本人是真正的盲人 Android 用户/开发者。

  2. grokx

    AOSP 开发者在此,干得漂亮!

    关于键盘,通常系统会将按键操作以按键事件(按下、释放等)和按键码的形式上报给应用。硬件按键与软件按键码之间存在映射关系,可以通过 kcm 文件进行覆盖。

    更多信息请见:https://source.android.com/docs/core/interaction/input/keybo...

  3. e12e

    很棒的故事,写得也很好。某些地方如果能再多一点细节就更好了——这样其他人更容易复现——不过这些内容或许更适合放在 readme 里。

    我想这证明了 Android 依然比 iOS 更开放、更有用。

  4. tech234a

    我相信 Telegram 的 Android 客户端是开源的。你可以提交一个 PR,在上游修复这个无障碍问题。

  5. jrmg

    读到这样的项目记录真让人开心。不排斥使用 AI 工具,但依然由亲自操刀的人以第一人称视角撰写项目经历。

同日更多故事

2026-11-08