三星手机「我的文件」应用闪退问题的解决方法

本文详细描述了一旦OneUI4.x版本的「我的文件」因设备ID(OAID)获取问题闪退,如何通过允许使用设备ID来修复。作者提供了步骤验证过程,并解释了OAID的作用及为何它是解决方案。同时,文章警告了不应随意恢复出厂设置,以及提及了设备ID的全称和用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 的全称

缩写全称
IMEIInternational Mobile Equipment Identity, 国际移动设备识别码
MEIDMobile Equipment Identifier,移动设备识别码。
UDIDUnique Device Identifier ,设备唯一标识符
OAIDOpen Anonymous Device Identifier,匿名设备标识符
VAIDVendor Anonymous Device Identifier,开发者匿名设备标识符
AAIDApplication Anonymous Device Identifier,应用匿名设备标识符

参考

移动安全联盟官网

移动智能终端补充设备标识规范-v20190516.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值