文章目录
-
- 1.「我的文件」闪退问题
- 2. 解决方法
-
- 解决方案1:正解,允许使用设备 ID
- 解决方案2:卸载更新
- 解决方法3: 使用其他安全可靠文件管理工具
- 警告
- 3. 允许使用设备 ID,为什么是正解?
- 4. 验证
-
- Step1:验证前的状态
- Step2:关闭「允许使用设备 ID」
- Step3:打开「允许使用设备 ID」
- 附:闪回时调用栈
- 附:设备 ID 是什么?
-
- OAID 的用途
- 设备 ID 的全称
- 参考
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)点击其他安全设置
点击设备ID”
五、允许使用设备ID使用此功能
解决方案2:卸载更新
可能对某些人有用。 不确定是否对所有人有用。
解决方法3: 使用其他安全可靠文件管理工具
毕竟只是「我的文件」这一个 应用问题不是文件系统的问题,所以使用其他文件管理工具也是一种解决方案。
警告
某个应用闪退,真的影响心情。「我的文件」这样,更频繁的系统应用,去 Galaxy Store 「我的文件」在评论区发表差评是可以理解的。
但不要这样做:「恢复出厂设置」。
不要一动不动「恢复出厂设置」,否则,结果会更糟。
3. 允许使用设备 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」,看看是否会闪回。
「我的文件」版本是 。是目前(2022.06.03)最新版本。
Step2:关闭「允许使用设备 ID」
我把「允许使用设备 ID」关闭后,「我的文件」应用 在运行过程中闪回,日志见下面。
Step3:打开「允许使用设备 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 1: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 是什么?
。GSM 手机中用 IMEI,CDMA 手机用 MEID,术语不一样,但意思一样。
早期的 Android 版本中,允许第三方应用获取 IMEI,但是新版本中,Google 官方禁止第三方应用获取 IMEI,需要使用其他方案代替 IMEI。
新方案是 移动安全联盟 MSA 提出的,采用 OAID 、VAID、AAID 等 设备 ID 替代 IMEI。
参与到移动安全联盟 OAID 方案的设备厂商有,华为、小米、OPPO、vivo、中兴、努比亚、魅族、联想、三星等。
所以, 而 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,应用匿名设备标识符 |
参考
移动安全联盟官网
移动智能终端补充设备标识规范-v20190516.pdf