杀后台重开才生效:模块挂载的正确姿势
「我明明勾了模块,为什么打开应用什么都没变?」——十有八九,你只是把应用切到了后台又切回来。模块的挂载发生在应用启动的那一刻,已经在运行中的进程不会被追加挂载。
为什么必须重启应用
框架代码跟着应用进程一起启动,启动过程中它读取作用域配置、把勾选的模块挂进进程。一个已经在后台驻留的应用,进程早就越过了这个挂载窗口——你在 FPA 里做的任何改动,对它都是「过去式」。所以社区教程里反复出现的动作是:把汽水后台退掉,重新打开。
正确的重开姿势
- 最近任务划掉:从最近任务列表把目标应用划掉,这是最快的;
- 更彻底一点:到系统设置 → 应用管理 → 目标应用 → 强行停止。个别驻留能力强的应用(聊天类、音乐类常见)用这招更保险;
- 部分场景重启手机:少数模块要重启应用、甚至重启手机才生效——社区排查清单里明确列了这一条。
顺序容易搞反的地方
先勾模块、再杀后台、最后打开应用——这个顺序别反着来。反过来(先开应用、再勾模块)时,你以为「勾了就生效」,其实应用还在用旧配置跑。正确序列的完整版在勾选模块让功能生效里。
重启也无效的分流
彻底重启后仍然没动静,问题就不在「生效姿势」上了,分流方向:
- 模块根本不在 FPA 的可用范围 → 哪些模块能挂;
- 模块加载环节出错(入口在、功能不动、或直接闪退)→ 模块加载失败的常见原因;
- 应用一开就闪退 → 应用打包后闪退。
动态加载全程走通之后,可以了解另一条路的来龙去脉:自定义打包签名是什么。