设置.当使用不同的APK时,安全ANDROID_ID返回不同的值



我使用以下代码:

Settings.Secure.getString(contentResolver, Settings.Secure.ANDROID_ID)

首先我从我的电脑安装APK调试,

然后我从Play Store安装APK ANDROID_ID返回不同的值

Install APK Debug: a4af9001bcf07f04
Install APK Play Store: 07ef710fb2c3a399

如何解决这个问题?因为它以前从未发生过,我需要它来检查用户是否从同一设备登录的API。

这是显而易见的:

你检查过ANDROID_ID:

文档了吗?

在Android 8.0 (API level 26)及更高版本的平台上,a64位数字(表示为十六进制字符串),每个数字唯一应用程序签名密钥、用户和设备的组合。ANDROID_ID的取值的范围由签名密钥和用户确定。如果是工厂,该值可能会改变如果APK签名密钥发生变化,

注意:对于在设备更新到Android 8.0 (API级别26)或更高版本之前安装的应用程序ANDROID_ID更改,如果应用程序被卸载,然后重新安装在OTA之后。在OTA到之后的卸载中保留值Android 8.0或更高版本,开发者可以使用Key/Value Backup。

这是因为unique to each combination of app-signing key, user, and devicehttps://developer.android.com/reference/android/provider/Settings.Secure ANDROID_ID .

在你的情况下,debug和playstore可能有不同的签名密钥,这就是为什么不同的标识符。

最新更新