我使用命令:adb devices列出连接的设备。 在我的电脑上,我得到: 附加设备列表 HT9CTP820988器件
我的问题是:如何以编程方式获取此ID(HT9CTP820988)?
答案 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);
}