Closed zhaodice closed 1 year ago
我无法在不混淆的情况下复现错误,因为我的安卓死丢丢有BUG,只要proguard为false,就告诉我找不到$j类,很神奇
需要更多的信息可以继续提供
这还是大概率是你的混淆或者优化问题,改变了代码逻辑
这还是大概率是你的混淆或者优化问题,改变了代码逻辑
倒也不一定,因为我发现只有这一个用户有这个问题,其他人都是稳定运行的,而且我查阅到崩溃有关发生在
operator fun get(id: Long): GroupMemberListCache {
return map.getOrPut(id) {
val file = resolveCacheFile(id)
if (file.exists() && file.isFile) {
val text = file.readText()
if (text.isNotBlank()) {
return JsonForCache.decodeFromString(GroupMemberListCache.serializer(), text)
}
}
GroupMemberListCache(0, emptyList())
}
}
readText
发生的错误,而通过查阅资料MalformedInputException: Input length = 1
得知,这很可能是文件编码问题(极有可能所写入文件一半被安卓系统意外杀死导致文件损坏),但我并不确定,也许可以加个容错机制。
特别的,我要求用户自行删除了缓存文件,问题消失了
问题描述
在登录时加载Group member缓存期间时出现的错误(但不确定是不是因为缓存原因)
复现
根据用户的反馈,在直接登录时加载群缓存时就复现了,目前还在调查是否和缓存有关,打算让用户删除缓存尝试
mirai-core 版本
2.13.2
bot-protocol
ANDROID_PHONE
其他组件版本
No response
系统日志
网络日志
No response
补充信息
原始信息已被混淆,这是使用mapping.txt 解混淆的结果,可能有出入。