常见问题

本文介绍 Android 系统中 utdid 相关的常见问题。

utdid 不变和变化的具体条件是什么?

  • 手机系统或 App 重启

    • 无 SD Card 权限,utdid 状态 不变。

    • 有 SD Card 权限,utdid 状态 不变。

  • 删除 App 重新安装

    • 无 SD Card 权限,utdid 状态 变化。

    • 有 SD Card 权限,utdid 状态 不变。

  • 设备双清,SD Card 数据被清除,重新安装

    • 无 SD Card 权限,utdid 状态 变化。

    • 有 SD Card 权限,utdid 状态 变化。

杀死进程后 utdid 发生了什么变化?

原因分析

  1. utdid 是应用软件 ID,每次启动时都会取应用外的 utdid 和应用内的 utdid 进行比对, 并使用生成时间比较早的 ID。

  2. 首次安装时,没有外存储权限,所以无法获得应用外的 utdid,而且应用内又不存在 utdid,于是会生成一个 utdid。

  3. 当应用授权后,再次启动时,由于第 1 点中的机制,会用应用外的 utdid 覆盖应用内的 utdid,导致 utdid 发生变化。

解决方法

  1. 确保 utdid4all 的版本号不小于 1.1.5.3,因为旧版本与高版本的 Android 存在兼容问题。

  2. 该问题只出现在首次安装应用时,当外存储权限变化时,再次启动 utdid 就不会变化了。

说明

Android 6.0 版本以后,部分手机需要在弹出外存储授权页,单击确定以后才能获得外存储权限,仅声明是无法获得的。

遇到 Android 10 以后的设备 ID 不变时如何处理?

随着设备权限越来越严格,utdid 已经很难保证设备统一、固定不变。如果遇到需要强调设备 ID 不变的场景,则需要使用其它获取 ID 的方案。