Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取adb中显示的Android设备ID_Java_Android_Adb_Uniqueidentifier - Fatal编程技术网

Java 获取adb中显示的Android设备ID

Java 获取adb中显示的Android设备ID,java,android,adb,uniqueidentifier,Java,Android,Adb,Uniqueidentifier,如何将Android设备ID设置为字符串(Java代码为Android 2.2+),当我将其连接到计算机()或在cmd中输入“adb设备”时显示该字符串?我知道它不是ANDROID\u ID或telephonyManager.getdeviceId()或Build.SERIAL,但我找不到它是什么…将ANDROID:name=“ANDROID.permission.READ\u PHONE\u STATE”添加到您的清单中 TelephonyManager telephonyManager =

如何将Android设备ID设置为字符串(Java代码为Android 2.2+),当我将其连接到计算机()或在cmd中输入“adb设备”时显示该字符串?我知道它不是ANDROID\u ID或telephonyManager.getdeviceId()或Build.SERIAL,但我找不到它是什么…

ANDROID:name=“ANDROID.permission.READ\u PHONE\u STATE”
添加到您的清单中

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

如果你想获得安卓id,你可以使用

 private String getAndroidID() {
            String androidId = Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID);
            return androidId;
        }
private TelephonyManager getTelephonyManager() {
        TelephonyManager telephonyManager = ( TelephonyManager )getSystemService( Context.TELEPHONY_SERVICE );
        return telephonyManager;
    }

private String getIMEIStringOfDevice() {
       String imeiString = getTelephonyManager().getDeviceId(); 
        return imeiString;
    } 
如果你想要设备id,你可以使用

 private String getAndroidID() {
            String androidId = Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID);
            return androidId;
        }
private TelephonyManager getTelephonyManager() {
        TelephonyManager telephonyManager = ( TelephonyManager )getSystemService( Context.TELEPHONY_SERVICE );
        return telephonyManager;
    }

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

尝试使用android.os.build类中的串行字符串
唯一通用的方法是从USB接口设置中提取号码:

/sys/class/android_usb/android0/iSerial

除此之外,由每个供应商选择存储序列号的方式。其中一些选择不填充
ro.serialno
属性。

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

Eclipse中显示的值似乎只是
Build.MANUFACTURER
Build.MODEL
Build.SERIAL
的串联


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

你想在android应用程序中使用它吗?你可以尝试在“ro.serialno”系统上使用getpropproperty@vishalm-ro.serialno为空,ril.serialnumber返回000000000000。另外,Alex.P说这不是通用的方法。不,我想要亚洲开发银行返回的数字。我已经在示例中写了这些返回号的非。感谢您以编程方式编写,但是需要adb命令。在/sys/class/…中找不到android_usb。。。另外,我在/cat/proc/cpuinfo中发现了这个数字,具体位置取决于android版本。你用哪一种?至于
/proc/cpuinfo
-此数字包含芯片组ID。一些供应商可能会选择将其(或其部分或某些哈希函数)用于USB串行。此外,Android 2.3.3,您能否告诉我芯片组ID(串行=)在每个Android设备上都可以找到来自/proc/cpuinfo的?
/proc/cpuinfo
将包含支持它的所有芯片组的芯片ID。但是它不能帮助您找出
adb设备
显示的数字,因为很少有手机制造商使用芯片ID进行USB串行通信。不幸的是,我没有任何旧设备来检查该版本的确切位置。Build.SERIAL返回“未知”(在3台设备上试用)奇怪。这可能取决于制造商。对不起:/