InstallerX 中文文档 下载 App

安装标志位:测试包/降级/所有用户等高级 PackageInstaller 标志

标志位是什么

安装标志位是传给 Android PackageInstaller API 的一组高级标志(flags),用于控制安装会话的细粒度行为。每个配置文件里可以勾选要不要开启哪些标志位——InstallerX 会把选中的标志传给系统,系统在安装时会据此调整行为。

重要:安装标志位只是向系统发出请求,不保证一定生效。Android 版本、ROM 策略、授权器类型、InstallerX 是否为系统包管理器都会影响最终结果。

常用标志位

这些是配置文件里最常见、最实用的标志位。

允许测试包(INSTALL_ALLOW_TEST)

允许安装带 testOnly 标记的 APK。很多第三方开发者分发的测试版 APK 都有这个标记,系统会默认拦截。开启后 InstallerX 会绕过这个拦截。

风险提示:testOnly 应用可以请求 shell 级别的权限,风险比正式版高。只在你完全信任来源时开启。

为所有用户安装(INSTALL_ALL_USERS)

设备上如果有多个 Android 用户(比如工作资料),这个标志会把应用装到所有用户。默认只装到当前用户。会覆盖配置里设置的"目标用户"。

允许降级安装(INSTALL_ALLOW_DOWNGRADE / INSTALL_REQUEST_DOWNGRADE)

允许低版本覆盖高版本——比如从应用商店 3.0 降到酷安的 2.8。Android 15+ 降级通常需要 Root 或系统包管理器模式;Android 14 及以下可以尝试降级但不保证。

⚠️ 系统应用降级极其危险:降级后的系统应用可能与当前系统版本不兼容,导致设备无法开机、功能丢失等严重后果。请仅对普通第三方应用降级,并极度谨慎。

绕过低 target SDK 限制(INSTALL_BYPASS_LOW_TARGET_SDK_BLOCK)

Android 会阻止低 target SDK 的应用安装(比如 target SDK 是 24 的 APK 在 Android 14 上会被拦截)。信任应用时开启这个标志绕过限制。

授予所有请求权限(INSTALL_GRANT_RUNTIME_PERMISSIONS)

安装后自动授予应用申请的运行时权限。不会自动授予特殊权限(所有文件访问、无障碍、通知监听等),那些还是需要手动开。

请求更新所有权(INSTALL_REQUEST_UPDATE_OWNERSHIP)

请求系统把 InstallerX 设为这个应用的后续更新来源。这样系统未来可能只接受从 InstallerX 发起的更新。

存储与来源标志

这些在现代 Android 上大多被忽略,但在测试或特定 ROM 工作流里还有用。

标志说明
内置存储(INSTALL_INTERNAL)强制安装到内部存储
外置存储(INSTALL_EXTERNAL)旧 Android 上强制安装到外部存储,现代系统基本无效
来自 ADB 的安装请求(INSTALL_FROM_ADB)告诉系统该请求来自 ADB
禁用验证(INSTALL_DISABLE_VERIFICATION)安装过程中禁用系统包验证,不是 InstallerX 的签名验证

高级 PackageInstaller 标志

只有在理解对应 Android PackageInstaller 行为时才建议开启。

标志说明
免安装应用(INSTALL_INSTANT_APP)作为 Instant App 安装
不要杀死安装进程(INSTALL_DONT_KILL_APP)拆分功能安装时避免杀死主应用
完整应用(INSTALL_FULL_APP)标记为完整应用,用于 Instant App 升级
激进分配(INSTALL_ALLOCATE_AGGRESSIVE)标记为系统健康/安全重要包,腾空间时更积极清理
虚拟预加载(INSTALL_VIRTUAL_PRELOAD)标记为虚拟预装包
APEX(INSTALL_APEX)标记正在安装 APEX 包
启用回滚(INSTALL_ENABLE_ROLLBACK)为未来回滚流程保留元数据
阶段安装(INSTALL_STAGED)作为 staged session 安装
试运行(INSTALL_DRY_RUN)只验证不安装,在支持的 Android 版本上
禁用 APEX 更新检查在支持的 Android 版本上跳过 APEX 更新允许性检查

智能建议里也能开

在对话框安装模式下,如果因为测试包 / 降级 / 低 target SDK / 签名问题被拦,InstallerX 会弹出"智能建议"按钮,点击后会为当前这一次安装临时开启对应标志位重试。这不会改动配置文件,只是针对当前会话的一次性绕过。