Skip to content

client/stub · Stub 组件 ​

声明在宿主 Manifest 里的占位组件,共 17 个文件。这些组件在真实系统层面"伪装"成宿主自己的组件,欺骗 AMS 清单检查,运行时再还原真实意图。详见 Stub Activity 机制。

文件组成 ​

Stub Activity(100 个存根 C0-C99 的宿主类) ​

文件职责
StubActivity.java主存根 Activity,欺骗 AMS 清单检查
StubDialog.javaDialog 风格存根
StubExcludeFromRecentActivity.java不进最近任务列表的存根
StubPendingActivity.javaPendingIntent 用的存根
ResolverActivity.java / ChooserActivity.java / ChooseTypeAndAccountActivity.java / ChooseAccountTypeActivity.java系统 Resolver/Chooser 的虚拟实现
ShortcutHandleActivity.java快捷方式入口

Stub Service / Receiver ​

文件职责
StubJob.java / DaemonJobService.java作业/守护 Service
StubPendingService.javaPendingIntent 用的 Service
StubPendingReceiver.javaPendingIntent 用的 Receiver
DaemonService.java守护进程 Service(保活 server)
AmsTask.javaAMS 异步任务

Provider / 配置 ​

文件职责
StubCP.java客户端侧占位 ContentProvider(server 反向调用入口)
VASettings.java宿主配置常量(包名前缀、authority 等)

Stub Activity 工作流 ​

子文档详解 ​

每个组件族都有独立文档:

文档主题
StubActivity 族100 个存根欺骗 AMS 清单检查
StubDialogDialog 主题存根变体
StubExcludeFromRecentActivity不进最近任务的存根
StubPending 族PendingIntent 用的 Activity/Service/Receiver 存根
Chooser / Resolver系统选择器的虚拟实现
StubCP占位 ContentProvider,server 反向调用入口
Daemon 保活DaemonService + DaemonJobService 保活 server
VASettings宿主配置常量(类名/authority/开关)

基于 VirtualApp 与 epic,仅供学习研究。VirtualApp 禁止商用。