共享偏好编辑器——查看修改应用的设置项
什么是共享偏好
Android 应用常用Shared Preferences(SP)来存储轻量级键值对——比如设置项、登录 token、上次打开的页面等。底层是 XML 文件,存在:
/data/data/<包名>/shared_prefs/<文件名>.xml
怎么打开
App Manager → 应用详情页 → 应用信息标签 → 水平操作面板里点 共享偏好 按钮。
进入后:
- 列表显示这个应用的所有 Shared Preferences 文件
- 点一个文件 → 用 App Manager 的代码编辑器打开
- 代码编辑器里可以查看 XML 键值对并直接编辑
编辑能做什么
场景一:跳过应用引导页
很多应用第一次打开会有 3-5 页的引导/欢迎页,然后要你登录。有些引导页的"已完成"状态存在 Shared Preferences 里——修改 SP 把引导标记设为已完成,下次打开直接跳过。
场景二:替换登录 token
某些应用的登录态保存在 Shared Preferences 里。你可以:
- 从其他设备导出某个应用的 SP(root 或备份)
- 替换当前设备上这个应用的 SP 文件里的 token
- 重新打开应用,它以为你已经登录了
注意:很多应用现在用 Android Keystore 加密 token,这种情况下 SP 里的 token 值是加密的,直接替换没用。
场景三:修改应用配置
有些应用的功能开关、界面设置、开关项等存 SP 里:
- 强制启用/禁用某个功能
- 换应用主题(如果主题选存在 SP)
- 修改 API endpoint(某些应用的服务器地址存配置里)
- 让应用以为它是付费版(需要找到付费状态的 SP 字段)
场景四:清理应用残留
卸载应用后 /data/data/<包名>/ 应该被清理干净。但某些应用卸载不干净,留下 SP 文件。用 App Manager 的共享偏好编辑器可以直接清掉这些残留。
权限要求
- 查看——需要能访问
/data/data/<包名>/shared_prefs/目录 - root 档 ✓
- ADB 档:部分应用可能可以(取决于 ADB 权限细节)
- 无 root 档 ✗
- 编辑——同查看,还需要文件写权限
- root 档 ✓
- ADB 档 ✗(没有写权限)
- 无 root 档 ✗
风险
直接编辑应用私有数据是高风险操作:
| 风险 | 说明 |
|---|---|
| 格式错误导致闪退 | XML 里一个标签没闭合,应用读 SP 时就崩了 |
| 键值被校验 | 有些应用会校验 SP 值的合法性,改了会被检测到并拒绝 |
| 应用自动覆盖 | 应用运行时会把内存里的 SP 状态写回磁盘,手动改的内容可能被覆盖 |
| 破坏应用状态 | 某些内部字段不是给你改的,改了之后应用状态会乱 |
建议的安全流程
- 完整备份这个应用(root 档)
- 打开 SP 文件 → 编辑 → 保存
- 强制停止应用(让它重新从 SP 读)
- 打开应用看效果
- 出问题 → 用刚才的备份恢复
这样即使改崩了也能原样恢复。
跟数据库编辑器的关系
App Manager v4.0 起还集成了数据库查看/编辑能力——应用用 SQLite 存的结构化数据也能直接查看和修改。共享偏好编辑器处理的是键值对,数据库编辑器处理的是表结构数据。两者配合使用能覆盖应用内部存储的大部分内容。