gpt4 book ai didi

android - Oreo 中的 ANDROID_ID 相同

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:06:00 27 4
gpt4 key购买 nike

根据 Android 8.0 行为变化

For apps installed on a device running Android 8.0, the value of ANDROID_ID is now scoped per app signing key, as well as per user. The value of ANDROID_ID is unique for each combination of app-signing key, user, and device. As a result, apps with different signing keys running on the same device no longer see the same Android ID (even for the same user).

为了测试上述更改,我制作了两个测试 APK 并发现了以下行为(在 Nexus 5X、OS 8.0.0 上测试):

  • 如果 targetSdkVersion 26、compileSdkVersion 26、buildToolsVersion 26.0.0,从同一台 Windows 机器生成的两个不同的 apk(以及不同的包名)显示相同的 ANDROID_ID。当从不同机器生成具有相同包名的 APK 时,会显示不同的 ANDROID_ID。

下面是我的查询:

  1. 这是正确的行为吗?为什么两个不同的 APK 显示相同的 ANDROID_ID?
  2. 如果我的应用程序的 ANDROID_ID 可能发生变化(无需卸载/重新安装),有什么变化吗?
  3. 在 Nexus 5x、OS 6.0.1、targetSdkVersion 23,compileSdkVersion 23,buildToolsVersion 25.0.0。我在 Android O 中没有看到任何特定的行为变化。我缺少什么?为什么会有相同的行为?

最佳答案

正如其他答案解释了为什么您为不同的 apk 获得相同的 ID,它们是正确的。

检查此行为的最佳方法是创建两个不同的证书并使用这两个证书签署您的 apk。


总结一下你所有的困惑,[来自Changes to Device Identifiers in Android O]

  1. 只要包名称和签名 key 相同,ANDROID_ID 值就不会在包卸载/重新安装时发生变化。应用程序可以依靠此值在重新安装时保持状态。
  2. 如果某个应用安装在运行早期 Android 版本的设备上,则当设备更新到 Android O 时,Android ID 将保持不变,除非卸载并重新安装该应用。
  3. 只有在设备恢复出厂设置或签名 key 在卸载和重新安装事件之间轮换时,Android ID 值才会更改。
  4. 只有随附 Google Play 服务和广告 ID 的设备制造商才需要进行此更改。其他设备制造商可能会提供替代的可重置 ID 或继续提供 ANDROID ID。

关于android - Oreo 中的 ANDROID_ID 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49729916/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com