-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
内容由 AI 生成
大模型:Gemini 3 Flash
版本:Free Tier (2026-03-11)
声明:本 Issue 的技术分析部分由 AI 辅助生成,旨在通过 Logcat 数据深入定位组件调起失败的底层原因。
Issue Title: [Bug] 开启 InstallerRedirect 重定向至 InstallerX 时启动失败 (Result Code -91)
1. 问题描述 (Description)
在 Android 16 (Infinity X ROM) 环境下,使用 InxLocker 的 InstallerRedirect 功能时遇到启动中断问题:
- 失败场景:当重定向目标设置为 InstallerX (com.rosan.installer.x.revived) 时,LSPosed 日志显示重定向逻辑已执行,但系统无任何反应,目标安装器未能启动。
- 对比场景:将 InxLocker 的重定向目标设置为 “系统默认安装器” 时,功能工作正常,可以成功调起系统包管理器。
- 核心现象:重定向至第三方安装器时,底层
ActivityTaskManager报错返回result code=-91。
2. 环境信息 (Environment)
- 系统版本: Android 16 (Infinity X ROM)
- LSPosed 版本: 1.9.2-it(7570)
- 模块版本: 1.4 (10)
- 目标安装器: InstallerX 2.3.3.43f487d (com.rosan.installer.x.revived)
3. 关键日志提取 (Key Logcat)
Logcat 记录了重定向至 InstallerX 失败的瞬间,返回了 START_ABORTED (-91):
// InxLocker 识别并执行重定向逻辑
03-11 02:13:21.475 I LSPosedFramework: [InxLocker][I][android] [InstallerRedirect] ==> ActivityStarter.execute: 开始处理Intent...
03-11 02:13:21.523 I LSPosedFramework: [InxLocker][I][android] [InstallerRedirect] - 目标 package: com.rosan.installer.x.revived
// 系统层面拦截了跳转,返回 -91
03-11 02:13:21.532 I ActivityTaskManager: START u0 {act=android.intent.action.VIEW dat=content://tv.danmaku.bili.fileprovider/... typ=application/vnd.android.package-archive flg=0x14000001 pkg=com.rosan.installer.x.revived} with LAUNCH_MULTIPLE from uid 10347 (tv.danmaku.bili) result code=-91
[LSPosed_20260311_021329.zip](https://github.com/user-attachments/files/25879835/LSPosed_20260311_021329.zip)
4. 深度技术分析 (Technical Analysis)
根据 result code=-91 (START_ABORTED) 及 Android 16 的特性,推断原因如下:
- URI 授权未同步迁移:原始 Intent 的数据位于 B 站的
FileProvider。由于模块强行将pkg修改为第三方包名,系统可能判定该包名(InstallerX)未获得原始调用方授予的FLAG_GRANT_READ_URI_PERMISSION,基于安全策略中止了启动。 - BAL (Background Activity Launch) 限制:日志中提示
callingPackage for (uid=-1, pid=-1) has no WPC。在 Android 16 中,跨应用调起第三方 Activity 的审查极其严格,Hook 过程中可能导致调用栈信息丢失,触发了系统的后台启动拦截。 - 对比结论:重定向至“系统默认安装器”正常,说明模块的 Hook 逻辑基本框架无误,但在处理第三方包名时的 Intent 标志位修正或 URI 访问权限转发上可能存在兼容性问题。
5. 复现步骤 (Steps to Reproduce)
- 开启 InxLocker 的安装重定向,目标设为 InstallerX。
- 在哔哩哔哩客户端下载 APK 并点击安装。
- LSPosed 日志提示重定向成功,但界面无响应。
- 将 InxLocker 重定向目标改为 “系统默认安装器”,安装请求可正常弹出。
希望这些细节能帮助作者排查在 Android 16 系统上重定向第三方安装器时的 Intent 转发逻辑。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels