Thor 中文文档 下载 App

Thor 拆分应用智能识别——多 APK 包体的区分与安全处理

什么是拆分应用

近年来,Google Play 推送的大量应用不再以单一 APK 形式发布,而是采用 Dynamic Feature Modules(动态功能模块) 架构:

微信实际安装包 =
├── base.apk(主包,核心功能)
├── config.arm64_v8a.apk(64 位架构)
├── config.zh-CN.apk(中文语言资源)
├── config.xxxhdpi.apk(高分辨率图标)
└── split.instant.apk(即时应用包)

这种架构的好处是应用体积更小、按需加载功能,但给管理器带来了新问题——如果只卸载其中一个 split 包,应用会损坏。

Thor 如何识别拆分应用

Thor 在应用卡片的状态指示器上显示一个特殊的包图标,标识该应用由多个 APK 组合安装:

拆分应用与普通应用的操作差异

操作普通应用拆分应用
冻结/解冻✅ 无限制✅ 无限制(作用于整个应用,不会只冻某一个 split)
卸载✅✅ 卸载整个应用(系统 Package API 处理)
提取 APK✅ 提取单个 APK✅ Thor 会自动提取完整的 APK 安装包,而不是拆分后的碎片
清除数据✅✅ 无限制
手动管理 split 包不可用❌ Thor 不支持手动操作单个 split(避免破坏完整性)

从拆分包安装

Thor 的「从文件安装」支持直接安装 APKS 格式(多个 APK 打包在一起的格式)。选择 APKS 文件后 Thor 会自动解压并逐个安装所有 split 包。

这比手动逐个安装 APK 更方便,特别适合备份后恢复拆分应用。

为什么 Thor 不支持手动操作 split

设计上 Thor 刻意不让用户操作单个 split 包,原因:

  1. 用户难以判断:普通用户无法知道某个拆分包是否是"必需"的。如果不小心卸载了 base.apk 或架构配置包,应用会直接崩溃
  2. 系统 API 已处理:安卓的 Package Manager API 本身就会把 split 包视为一个整体管理
  3. 安全优先:Thor 的策略是让高级用户也在安全边界内操作

如果我需要精细控制 split

Thor 目前不提供这个能力。如果确实需要拆分管理,可以考虑更重型的工具如 App Manager(muntashirakon/AppManager),但需要权衡功能复杂度与安全风险。

大多数日常管理场景下,Thor 的"整体操作"策略完全够用。