Comments (24)
1.请问你的 sharedPreferences 对象是什么
2.请提供使用的 Xposed 框架名称,版本,以及具体实现代码和复现步骤
from yukihookapi.
sharedPreferences是PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener的Callback第一个参数
Xposed框架为LSP最新版,代码为https://github.com/HCGStudio/FuckMIUIGesture
from yukihookapi.
目前框架存储位置需要在模块激活的时候方可生效,你可以检查 /data/misc/一个很长的文件夹名称/模块包名/xxx.xml 有没有内容
暂时不知道 PrefManager 获取的内容是否为 hook 后的存储地址,或者请检查这两个值是否存到了同一个xml中,若不是,请使用 modulePrefs("手动指定名称")
from yukihookapi.
另外看到了你的模块包名在注解中是手动设置的,请检查你的模块包名是否设置正确
from yukihookapi.
包名是正确的,模块自身是能使用的
from yukihookapi.
包名是正确的,模块自身是能使用的
那就看一下 /data/misc 下有没有内容了
from yukihookapi.
检查内容是包含的
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="strong_mode" value="true" />
<string name="strong_mode_enable">true</string>
</map>
其中也包含了我使用String的尝试,但是模块依旧无法读取我的配置。
此外这个文件名称为com.hcgstudio.miui.fuck.gesture_preferences.xml
,在手动指定name的情况下,应该指定com.hcgstudio.miui.fuck.gesture_preferences
吗
from yukihookapi.
检查内容是包含的
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <boolean name="strong_mode" value="true" /> <string name="strong_mode_enable">true</string> </map>其中也包含了我使用String的尝试,但是模块依旧无法读取我的配置。
此外这个文件名称为com.hcgstudio.miui.fuck.gesture_preferences.xml
,在手动指定name的情况下,应该指定com.hcgstudio.miui.fuck.gesture_preferences
吗
看样子是不需要指定的,你用原生的 XShare 读取设置试试可不可以
from yukihookapi.
使用原生
val xShare = XSharedPreferences("com.hcgstudio.miui.fuck.gesture")
Log打xShare.all
出来依旧是{}
from yukihookapi.
使用原生
val xShare = XSharedPreferences("com.hcgstudio.miui.fuck.gesture")Log打
xShare.all
出来依旧是{}
如果原生也用不了的话大概可能是你的系统有点问题或者 LSPosed 有点问题,你可以去反馈一下,因为 API 调用的就是 XShare
from yukihookapi.
检查发现xPref.file.absolutePath
的路径是正确的,且包含配置。是不是因为hook程序的问题,我hook的是com.android.systemui
。
from yukihookapi.
检查发现
xPref.file.absolutePath
的路径是正确的,且包含配置。是不是因为hook程序的问题,我hook的是com.android.systemui
。
我有两个同样的开源项目都hook了 systemui,详情可去参考一下,都是没有问题的
from yukihookapi.
你把 API 改成 31 试试,但大概不会是这个的问题
from yukihookapi.
是的,我也使用了你的模块,将API改成31依旧存在这个问题,而且发现xPref.file.readText
会报错,无法read配置文件,我找上游反馈一下了
from yukihookapi.
是的,我也使用了你的模块,将API改成31依旧存在这个问题,而且发现
xPref.file.readText
会报错,无法read配置文件,我找上游反馈一下了
那大概是这样了,我之前问过他们 XShare 的问题,可以试试 CI 版,解决不了就去问问吧
from yukihookapi.
是的,我也使用了你的模块,将API改成31依旧存在这个问题,而且发现
xPref.file.readText
会报错,无法read配置文件,我找上游反馈一下了
什么代码会报错,具体错误日志是什么
from yukihookapi.
问题已解决,按照文档手动设置即可。
val pref = try {
this.getSharedPreferences("${this.packageName}_preferences", Context.MODE_WORLD_READABLE)
} catch (e: SecurityException) {
// The new XSharedPreferences is not enabled or module's not loading
null // other fallback, if any
}
应该是库中没有处理好设置MODE_WORLD_READABLE导致
from yukihookapi.
问题已解决,按照文档手动设置即可。
val pref = try { this.getSharedPreferences("${this.packageName}_preferences", Context.MODE_WORLD_READABLE) } catch (e: SecurityException) { // The new XSharedPreferences is not enabled or module's not loading null // other fallback, if any }应该是库中没有处理好设置MODE_WORLD_READABLE导致
这是你在 prefsmanager 中获取的数据,但不保证会重新设置 private,API 会自动帮你设置 MODE_WORLD_READABLE,若失败,会设置 MODE_PRIVATE 具体请参考 API 源码实现方式
应该是库中没有处理好设置MODE_WORLD_READABLE导致
请查看源码验证你的应该,若有问题可以再反馈
from yukihookapi.
我重新过了一遍,你目前使用混合方式读写的用法大概是不对的,下个版本会加上对 prefsmanager 的扩展性支持,以及自动设置这个功能,我到时候会重新用你的项目测试一下,暂时先这样解决。
from yukihookapi.
是的,我也使用了你的模块,将API改成31依旧存在这个问题,而且发现
xPref.file.readText
会报错,无法read配置文件,我找上游反馈一下了
另外,我的模块直接使用设置也不会被保存吗(也就是宿主不能读取设置)
from yukihookapi.
对的,你自己的模块一切正常,就是PreferenceFragmentCompat的问题了
from yukihookapi.
对的,你自己的模块一切正常,就是PreferenceFragmentCompat的问题了
好的,感谢提供问题,晚上我会对这个功能进行一下适配
from yukihookapi.
该问题已修复,更新 API 版本即可,可参考 ModulePreferenceFragment 以及 Demo
from yukihookapi.
框架存储需要在模块激活的时候方可生效,你可以检查/data/misc/一个很长的文件夹名称/模块包名/xxx.xml 有内容 暂时不知道 PrefManager获取的内容是否为hook之后的存储地址,或者请这两个值是否存在同一个xml中,如果不是,请使用modulePrefs("手动指定检查名称")
我也遇到这个问题,各种办法都没用,直到手动把你说的这个目录模块包名文件夹权限手动改成777,不知道为什么会自己变成711
from yukihookapi.
Related Issues (20)
- [important-less-bug] Sending non-protected broadcast HOT 7
- Debug环境下的log是否考虑优化一下,并且可以提供一个Hook环境判断吗? HOT 4
- YukiHookPrefsBridge missing Context instance HOT 3
- [BUG] YukiHookDataChannel. Supporting Android 14 HOT 3
- 是否会支持增加Modern Xposed API HOT 1
- hello
- [BUG] HookParam call timing problem HOT 20
- New Hook Entry Class
- New Xposed Module Config Plan
- Need help, prefs doesn`t work HOT 10
- YukiHookPrefsBridge read value not working in the release mode HOT 4
- [BUG] 仅在Android 9 版本 registerModuleAppActivities 错误 HOT 9
- https://jihulab.com/xihan123/QDReadHook.git HOT 3
- Migrating to 1.2.0 HOT 1
- 增加模块的Context 获取 和 模块classload 合并入宿主 HOT 1
- cannot be cast to 类型转换异常 HOT 1
- how to change hook behavior without relaunch? HOT 1
- Classifier 'enum class HookEntryType : Enum<HookEntryType>' does not have a companion object HOT 7
- registerModuleAppActivities() 注册活动,不会初始化activity HOT 6
- 模块无法收到从宿主传来的消息 HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yukihookapi.