前不久刚自己摸索着写了个模块,想参照别人的那样写一个模块activity用来设置配置,然后hook的时候根据配置动态改变行为,搜到了lsposed支持的new xsharedpreference,xposed的xsharedpreference已经因为安卓版本升级,使用context.modeworldreader时抛出securityexception而无法使用,lsposed hook修改了系统api,使得这个特性被支持。
具体做法
添加matadata
<meta-data android:name="xposedsharedprefs" android:value="true" />
<meta-data android:name="xposedminversion" android:value="93" /> 二选一,后者只要是93+都行 其次就是正常安卓sharedpreference使用了 在模块app中(你自己写的app) 使用
sharedPreferences = context.getSharedPreferences(configName, Context.MODE_WORLD_READABLE); 在被hook的app中使用
xSharedPreferences = new XSharedPreferences(BuildConfig.APPLICATION_ID, configName); 更多请查看官方文档https://github.com/LSPosed/LSPosed/wiki/New-XSharedPreferences 最后,很遗憾lsposed停更,用爱发电不易,感谢lsposed团队的付出吧,希望大家对开源项目/作者多一点支持和理解,那些用这些开挂被检测还来骂作者的orphans活该吧。