New XSharedPreferences 使用
Lsposed New XSharedPreferences 使用
资料来源:
https://github.com/LSPosed/LSPosed/wiki/New-XSharedPreferences
更新
1
2022.03.17 初始
导语
重新整理与 nowakelock 的一切,New XSharedPreferences 似乎一直是遗失的一环.
最终结果是 New XSharedPreferences 依旧无法完成 ipc,它是只读的,单向信息传递,仅能从模块到 hook app.
New XSharedPreferences
主要参考: > https://github.com/LSPosed/LSPosed/wiki/New-XSharedPreferences
启用 New XSharedPreferences
设置
xposedminiversion
>= 93或同样在 AndroidManifest.xml 中添加 xposedsharedprefs
1
2
3<meta-data
android:name="xposedsharedprefs"
android:value="true" />
之后是正常在 module 中使用 ShardPreferences,并配置为 Context.MODE_WORLD_READABLE
之后在 hook app 中获取 XSharedPreferences(String packageName)
or XSharedPreferences(String packageName, String prefFileName)
正常读取.
1 | private fun getPref(path: String): SharedPreferences? { |
如同文档里说明的,通常使用 packName
获取 pref.
NewXSharedPreferences 有个好处是在系统初始化阶段就能直接读到信息,不像其他 ipc 必须等到应用启动完毕才可以.
结语
一篇水文,仅记录,估计 nowakelock 的 ipc 会拆分成两个部分: 传递配置的使用 NewXShardedPreferences,从 hook 写回模块的过程使用多种方式解耦.