繁体   English   中英

Android 设备 ID 在物理设备和模拟器上不匹配

[英]Android device id doesn't match on Physical Device & Emulator

我找到了一个应用程序,他们使用设备标识作为用户登录。 卸载并安装后显示相同的 DeviceID。 当我在我的 android 设备上测试这个应用程序时。 设备标识与此字符串不匹配。

String android_id = Settings.Secure.getString(this.getContentResolver(),
            Settings.Secure.ANDROID_ID);

但是当我在与该应用程序设备 ID 匹配的 android 模拟器字符串上尝试此操作时。 但是在我的物理设备中......

在该应用程序上显示: 93edad60438f8004

获取字符串设备 ID: 5f1cf6393c37ae96

如何获取该应用程序的设备 ID?

模拟器上的那个 App模拟器设备 ID

截至 Android 26,出于隐私原因,设备上的每个应用程序都会被告知不同的 Android ID。 这可以防止公司仅通过关联设备 ID 就可以在未经用户许可的情况下共享用户数据。

此外,设备 ID 永远不应用作登录凭据。 我可以获得一个版本 Android,它允许我通过快速重新编译 AOSP 在模拟器上声明我想要的任何 ID。 它很容易被欺骗。 如果您需要能够登录设备,请使用从您的服务器随机生成的密钥,并使用存储在密钥库中的密钥对其进行加密。 不要指望硬件标识符。 它们可以被欺骗,同样重要的是,您不能在不破坏用户使用您的应用程序的情况下撤销它们。 使用随机生成的令牌,您可以使其在服务器端无效,用户只需重新登录即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM