gpt4 book ai didi

android - Android模拟器的设备标识符

转载 作者:IT老高 更新时间:2023-10-28 22:02:21 27 4
gpt4 key购买 nike

我想在模拟器中测试依赖于设备标识符 (ANDROID_ID) 的应用。

我目前使用以下代码获取设备标识符:

final String deviceID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);

当我在模拟器中运行它时,它返回 null,这给我带来了各种各样的问题。似乎更高的 Android 版本会返回一些东西。

有没有办法在 Android 模拟器中获取设备标识符?我是否错误地获取了设备 ID?

或许可以通过控制台设置模拟器的设备标识符?

最佳答案

在模拟器中,IMEI和IMSI的值为hardcoded :

2325     { "+CIMI", OPERATOR_HOME_MCCMNC "000000000", NULL },   /* request internation subscriber identification number */
2326 { "+CGSN", "000000000000000", NULL }, /* request model version */

因此,您将始终得到 null

如果您仍然想要使用这些 id 编号进行测试,并且想要为模拟器和真实设备保留相同的代码,则必须以某种方式在模拟器中更改它。

至少有两种方法:

  1. 更改代码中的值并为模拟器重新编译代码。但是,这可能过于复杂和耗时... :-)

  2. “破解”模拟器二进制文件(因为它既没有压缩也没有加密 - 你可以做到!)并在此处修改字符串(在正确的位置)。

操作方法如下:

  • 备份模拟器二进制文件(稍后回滚)。在 Windows 中,可以在名称“emulator.exe”下找到二进制文件,位于您的 android“\tools”文件夹中。

  • 用你最喜欢的十六进制编辑器打开二进制文件

  • 搜索 +CGSN 字符串,后跟一个空字节(后跟 15 位 IMEI 号码 - 请参见下面的打印屏幕)

alt text

  • 编辑数字(注意不要更改原来的位数)

  • 并保存文件!

  • 可能会更改/调整您的代码以使用 IMEI 作为您的 ID(正如 Falmari 指出的那样),或者使用此技巧来更改其他一些值。

关于android - Android模拟器的设备标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4402262/

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