当前位置 : 主页 > 手机开发 > android >

Settings.Secure.ANDROID_ID不是唯一的,如何解决?

来源:互联网 收集:自由互联 发布时间:2021-06-11
我现在面临一个大问题.在 Android官方参考中找到: http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID public static final String ANDROID_ID *在API级别3中添加 在设备首次启动时随
我现在面临一个大问题.在 Android官方参考中找到:
http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID

public static final String ANDROID_ID

*在API级别3中添加

在设备首次启动时随机生成的64位数字(作为十六进制字符串),应在设备的生命周期内保持不变. (如果在设备上执行恢复出厂设置,则该值可能会更改.)
常量值:“android_id”*

但是有超过500个平板电脑出售(A10 AllWinner)ANDROID_ID并非真正随机生成,我看到(从我的网络服务日志中)有几个设备具有相同的数字!

为什么?

我该如何解决这个问题?如何生成唯一ID?假设所有设备的串行代码始终相同(Same serial number on several android devices. Adb is useless. How can I change the serial number?),并且MAC地址无法始终可用.

一般来说这是Android的一个严重问题 – 看起来Android ID是最好的选择,但是你注意到几个重要的供应商已经搞砸了实现.

面对类似的要求,我使用了这些值的哈希值:

>电话号码/ SIM卡号码(如果可用或只使用零)
> Android ID
> Mac地址(如果可用或只使用零)

在我有限的经验(使用的数百个设备)中,这种组合足以实现您所需的独特性.

2017年更新从Android 6开始,出于安全原因,Mac地址返回一个常量值 – 但是在几乎所有较新的android实现中,android ID似乎都是可靠的,所以除非你的目标是旧版本,否则你没有动机使用这种技术.

网友评论