FPA 全称 Framework Patch Agent:名字里的定位与由来
FPA 这个缩写在部分下载站的介绍里展开为 Framework Patch Agent——「框架补丁代理」。这个名字比缩写诚实得多,把它的三件事全说在了明面上:
- Framework(框架):它承载的是 Xposed 模块生态的运行时,属于「框架」这一类东西;
- Patch(补丁):它的工作方式是给目标应用的安装包打补丁,而不是改系统;
- Agent(代理):打包后的应用里驻着框架代码,由它代理模块的加载与 Hook 调用。
名字背后的技术路线
「Patch」这个词点出了 FPA 与传统框架的本质分野。LSPosed 那条路是先把自己变成系统的一部分(需要 Root 刷入),然后在系统层面拦截所有应用;FPA 反过来,系统一动不动,只动某一个应用的安装包——把框架代码塞进去、重新签名、装回去。一个应用一份补丁,坏了大不了重装原版。
开发脉络:FunBox 的作者
社区资料普遍把 FPA 归到 FunBox 的作者名下——FunBox 本身是 QQ/微信/TIM 场景的表情面板模块,也属于 Xposed 生态的一员。做模块的人转手做加载器,顺理成章:加载器是模块的「地基」,地基稳了自家模块才有人用得上。这也解释了为什么 FunBox 恰好是公开实测里对 FPA 兼容最好的模块之一(见FunBox 模块)。
应用界面里也能看到这条脉络的痕迹:主界面底部有「加入 Telegram 频道」的入口,作者习惯用 Telegram 频道发布版本与说明(详见开发者与社区)。
与包名互相印证
FPA 的包名是 fun.fpa——反向读就是「FPA 由 Fun 出品」,与「FunBox 作者开发」的社区说法对得上。想知道更完整的版本演变史,见版本历史;与 LSPatch 的路线差异在FPA 和 LSPatch 有什么区别里展开。