android设备ID(不是IMEI)

时间:2010-12-15 13:32:14

标签: android device

我使用命令:adb devices列出连接的设备。 在我的电脑上,我得到: 附加设备列表 HT9CTP820988器件

我的问题是:如何以编程方式获取此ID(HT9CTP820988)?

6 个答案:

答案 0 :(得分:1)

您使用adb devices命令看到的是序列号:

  

序列号 - 由...创建的字符串   adb唯一标识一个   仿真器/设备实例   控制台端口号。格式   序列号是 - 。   这是一个示例序列号:   模拟器-5554

(参考:http://developer.android.com/guide/developing/tools/adb.html

当你问“我怎样才能以编程方式获得此ID”时,你究竟是什么意思?从Android应用程序或桌面应用程序?

答案 1 :(得分:0)

这个怎么样?

http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID

编辑:嗯我记得这个,它不可能是正确的; ANDROID_ID应该是64位。也许您看到的字符串是由USB驱动程序提供的?

答案 2 :(得分:0)

答案 3 :(得分:0)

我认为模拟器ID的目的是识别开发环境中的模拟器和设备。它可能无法通过手机访问。

答案 4 :(得分:0)

可以通过从drivers / usb / gadget / android.c更改* strings_dev * struct来实现

答案 5 :(得分:0)

我正在使用以下代码...

String aid = Settings.Secure.getString(getContext().getContentResolver(), "android_id");

    Object obj = null;
    try {
        ((MessageDigest) (obj = MessageDigest.getInstance("MD5"))).update(                                   aid.getBytes(), 0, aid.length());

        obj = String.format("%032X", new Object[] { new BigInteger(1,                                   ((MessageDigest) obj).digest()) });
    } catch (NoSuchAlgorithmException localNoSuchAlgorithmException) {
        obj = aid.substring(0, 32);
    }