1.「我的文件」闪退问题
发生闪退问题时的手机环境:
-
OneUI 版本:从 OneUI 3.x 升级到 OneUI 4.x
这个版本升级中,增加了对 设备 ID(OAID)的访问控制。 -
「我的文件」版本:出问题的版本有 v13.1.00.193,v13.0.01.21, v13.0.01.92, v13.1.00.171,版本信息取自 Galaxy Store 中「我的文件」评论区。
v13.1.00.193 版本是 2022 年 5 月 12 日发布,是目前最新的版本。
说明:升级「我的文件」版本并不能解决问题。 -
手机型号:G9750(S10+),Note10+,S20,S21,S22
信息来源:盖乐世社区,以及 Galaxy Store 中 「我的文件」评论区
2. 解决方法
解决方法1:正解,允许使用设备 ID
1)打开“设置” 应用
2)点击“生物识别和安全性”
3)点击“其他安全设置”
4)点击“设备ID”
5)“允许使用设备ID”,启用这个功能
解决方法2:卸载更新
对于某些人可能是有用的。
不确定是否对所有人有用。
解决方法3: 使用其他【安全可靠】的文件管理工具
毕竟只是「我的文件」这一个 应用的问题,不是文件系统的问题,所以,使用其他的文件管理工具,也是一个解决方法。
警告
某个应用闪退,确实影响心情。尤其是「我的文件」这样用的比较频繁的系统应用,去 Galaxy Store 「我的文件」评论区打个差评,完全可以理解。
但一定不要做这件事:「恢复出厂设置」。
不要「恢复出厂设置」,
不要「恢复出厂设置」,
不要「恢复出厂设置」。
不要动不动就「恢复出厂设置」,否则会导致更糟糕的结果。
3. 允许使用设备 ID,为什么是正解?
这个解决方法 「允许使用设备 ID」 跟 「我的文件」看起来没有关系。
但,从闪退时的日志来看,是由于 OAID 获取不到导致的空指针异常,进而导致「我的文件」强制退出。
所以,解法是,允许「我的文件」获取 OAID (允许使用设备 ID)。
相关日志:FATAL EXCEPTION: main Process: com.sec.android.app.myfiles, PID: 652 java.lang.NullPointerException: Parameter specified as non-null is null: method d.s.b.d.e, parameter oaid
4. 验证
updated on 2022-06-03
Step1:验证前的状态
我的手机中的「允许使用设备 ID」是打开的,忘记是什么时候打开的了。这也是「我的文件」一直没有闪退问题的原因。
我验证的方式是关闭「允许使用设备 ID」,看看是否会闪退。
「我的文件」版本是 v13.1.00.193 。是目前(2022.06.03)最新的版本。
Step2:关闭「允许使用设备 ID」
我把「允许使用设备 ID」关闭后,「我的文件」应用 在运行过程中闪退了,日志见下面。
此时,在不允许使用设备 ID 的前提下,「我的文件」会一直闪退。
Step3:打开「允许使用设备 ID」
打开「允许使用设备 ID」后,「我的文件」运行正常。
这时候,再次关闭「允许使用设备 ID」,「我的文件」也会正常运行了。
说明只需要获取一次设备 ID(OAID),而这个 ID 如果用户不重置,是不变的。所以「我的文件」可能把设备 ID (OAID)保存起来,不用每次获取了。
附:闪退时的调用栈
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: FATAL EXCEPTION: main
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: Process: com.sec.android.app.myfiles, PID: 22427
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: java.lang.NullPointerException: Parameter specified as non-null is null: method d.s.b.d.e, parameter oaid
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at com.sec.android.app.myfiles.d.o.b3.o(Unknown Source:17)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at com.sec.android.app.myfiles.d.o.b3.z(Unknown Source:0)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at com.sec.android.app.myfiles.d.o.v0.a(Unknown Source:8)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at com.sec.android.app.myfiles.d.o.m3.g$b.onServiceConnected(SourceFile:6)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:2235)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:2268)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:938)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:226)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at android.os.Looper.loop(Looper.java:313)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8663)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
06-03 15:18:28.971 10118 22427 22427 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
附:设备 ID 是什么?
早期的设备 ID 是 IMEI 和 MEID。GSM 手机中用 IMEI,CDMA 手机用 MEID,术语不一样,但意思一样。
早期的 Android 版本中,允许第三方应用获取 IMEI,但是新版本中,Google 官方禁止第三方应用获取 IMEI,需要使用其他方案代替 IMEI。
新方案是 移动安全联盟 MSA 提出的,采用 OAID 、VAID、AAID 等 设备 ID 替代 IMEI。
参与到移动安全联盟 OAID 方案的设备厂商有,华为、小米、OPPO、vivo、中兴、努比亚、魅族、联想、三星等。
所以,目前来说,设备 ID 一般指 OAID。 而 IMEI 是一直都在的,没有消失,只是严格限定使用 IMEI 的范围,例如第三方应用不能使用 IMEI。
OAID 的用途
OAID 的用于广告相关的业务,比如,个性化推荐,广告推广等,需要标识用户时,采用 OAID。(之前是采用 IMEI )
所以,「允许使用设备 ID」并不会造成用户数据的泄露,是采用了更安全的方案替代了之前的旧方案(第三方应用使用 IMEI 算是用户数据泄露)。
设备 ID 的全称
缩写 | 全称 |
---|---|
IMEI | International Mobile Equipment Identity, 国际移动设备识别码 |
MEID | Mobile Equipment Identifier,移动设备识别码。 |
UDID | Unique Device Identifier ,设备唯一标识符 |
OAID | Open Anonymous Device Identifier,匿名设备标识符 |
VAID | Vendor Anonymous Device Identifier,开发者匿名设备标识符 |
AAID | Application Anonymous Device Identifier,应用匿名设备标识符 |
参考
移动安全联盟官网文章来源:https://www.toymoban.com/news/detail-484996.html
移动智能终端补充设备标识规范-v20190516.pdf文章来源地址https://www.toymoban.com/news/detail-484996.html
到了这里,关于三星手机「我的文件」应用闪退问题的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!