本文介绍了在奥利奥中相同的ANDROID_ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
根据 Android 8.0行为更改,
要测试上述更改,我做了两个测试APK,发现以下行为(在Nexus 5X,OS 8.0.0上进行了测试):
To test above changes, I made two test APK and found below behavior (tested on Nexus 5X, OS 8.0.0):
- 当targetSdkVersion 26,compileSdkVersion 26,buildToolsVersion 26.0.0时,从同一Windows机器生成的两个不同的apk(以及不同的程序包名称)显示相同的ANDROID_ID.当从另一台计算机使用相同的软件包名称生成APK时,将显示不同的ANDROID_ID.
以下是我的查询:
- 这是正确的行为吗?为什么两个不同的APK显示相同的ANDROID_ID?
- 是否可以更改我的应用程序的ANDROID_ID(无需卸载/重新安装)?
- 在Nexus 5x,OS 6.0.1,targetSdkVersion 23,compileSdkVersion 23,buildToolsVersion 25.0.0.我没有在Android O中看到任何特定的行为更改.我缺少什么?为什么会出现相同的行为?
- Is this correct behaviour ? Why is two different APK showing the same ANDROID_ID?
- Any change if my application's ANDROID_ID may get changed (without un-install/ re-install)?
- Getting same behaviour on Nexus 5x, OS 6.0.1,targetSdkVersion 23, compileSdkVersion 23, buildToolsVersion 25.0.0 . I don't see any specific behaviour change in Android O. What I am missing ? Why getting same behaviour ?
推荐答案
其他答案解释了为什么不同的apk获得相同的ID,它们是正确的.
As other answers explain why you are getting same id for different apks, they are correct.
通过创建两个不同的证书来检查此行为的最佳方法,并使用这两个证书对apk进行签名.
Best way to check this behaviour with creating two different certificates and sign your apk using these two certificate.
总结您的所有困惑,[摘自 更改Android O中的设备标识符]
Summarizing to all your confusion, [From Changes to Device Identifiers in Android O]
- 只要软件包名称和签名密钥相同,在卸载/重新安装软件包时,ANDROID_ID值将不会更改.应用程序可以依靠此值来维护重新安装的状态.
- 如果在运行早期版本Android的设备上安装了应用程序,则除非将该应用程序卸载并重新安装,否则在将设备更新为Android O时,Android ID保持不变.
- 仅当设备恢复出厂设置或签名密钥在卸载和重新安装事件之间旋转时,Android ID值才会更改.
- 此更改仅适用于带有Google Play服务和广告ID的设备制造商.其他设备制造商可能会提供替代的可重置ID或继续提供ANDROID ID.
这篇关于在奥利奥中相同的ANDROID_ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!