FPA 的 CPU 架构:arm64 与 armeabi-v7a 怎么选
FPA 的安装包信息里写着两个架构:armeabi-v7a(32 位)与 arm64-v8a(64 位)。这决定了它能在哪些设备上运行,也是排查「装不上」「闪退」时容易被忽略的一个维度。
怎么判断自己该用哪个
- 现在的安卓真机几乎全是 arm64:近几年的手机从骁龙、天玑到麒麟,64 位是绝对主流。如果你说不清自己的架构,按 arm64 处理基本不会错。
- arm64 设备向下兼容 32 位:安装包同时含两个架构时,设备会自己挑能用的那份,不需要人工干预。
- 特殊设备留意:老平板、模拟器、个别电视盒子可能只有 32 位环境(armeabi-v7a)——这类设备能不能跑 FPA 以实测为准。
架构与「目标应用」的关系
容易忽略的一点:FPA 要 patch 的目标应用也有自己的架构。打包出的成品运行在目标应用的进程里,架构不匹配时可能表现为注入后闪退或功能不动作。排查这类问题时:
- 确认目标应用本身在你的设备上运行正常;
- 用 FPA 重新 patch 一次,不要反复安装同一个成品;
- 换目标应用的另一个版本试试(部分应用的旧版本是纯 32 位打包)。
具体排查顺序见应用打包后闪退。
顺带一提:模块也有架构版本
有些模块(比如 QAuxiliary)会发布 arm64、arm32、通用等多个构建。挂模块时如果遇到「模块加载失败」,架构不匹配也在嫌疑清单里,与其他原因一起排查(见模块加载失败的常见原因)。
版本与架构都确认完了,下一步是把动手前必读的四条过一遍。