获取adb中显示的Android设备ID

时间:2014-06-03 18:21:30

标签: java android adb uniqueidentifier

如何将Android设备ID设置为字符串(使用Java代码Android 2.2+),当我将其连接到计算机(example from eclipse "Serial number" field)或输入“adb devices”时显示CMD?我知道它不是ANDROID_ID或telephonyManager.getdeviceId()或Build.SERIAL 但是我找不到它是什么......

5 个答案:

答案 0 :(得分:4)

唯一通用的方法是从USB接口设置中提取数字:

/sys/class/android_usb/android0/iSerial

除此之外,每个供应商都可以选择存储序列号的方式。他们中的一些人选择不填充ro.serialno财产。

答案 1 :(得分:1)

如果您需要adb devices命令显示的ID,那么它确实是Build.SERIAL

Eclipse中显示的值似乎只是Build.MANUFACTURERBuild.MODELBuild.SERIAL的串联。

至少这些是在Nexus设备上进行测试时的结果。

答案 2 :(得分:0)

尝试使用android.os.build类中的SERIAL字符串 http://developer.android.com/reference/android/os/Build.html#SERIAL

答案 3 :(得分:-2)

android:name="android.permission.READ_PHONE_STATE"添加到您的清单

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);    
String id = telephonyManager.getDeviceId();

答案 4 :(得分:-3)

如果你想获得android_id,你可以使用

 private String getAndroidID() {
            String androidId = Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID);
            return androidId;
        }

如果你想要设备ID,你可以使用

private TelephonyManager getTelephonyManager() {
        TelephonyManager telephonyManager = ( TelephonyManager )getSystemService( Context.TELEPHONY_SERVICE );
        return telephonyManager;
    }

private String getIMEIStringOfDevice() {
       String imeiString = getTelephonyManager().getDeviceId(); 
        return imeiString;
    }