从ADB和Android SDK获取Android设备标识符

时间:2011-03-30 13:07:17

标签: android adb

我正在寻找从Android adb和Android ADK本身获取唯一Android设备标识符的最简单方法。

例如,当我使用adb'devices'命令时,我连接的设备的序列号输出到屏幕。我还没有在Android sdk中找到一个方法来获取相同的序列号。

我不关心使用什么唯一标识符,只是可以从adb和android sdk轻松检索到的东西。生根设备不是一种选择。

12 个答案:

答案 0 :(得分:55)

你可能想要使用ANDROID_ID。

这是通过adb shell查询其值的方法:

settings get secure android_id

或者通过查询设置内容提供商:

content query --uri content://settings/secure/android_id --projection value

答案 1 :(得分:11)

Android将所有与设备相关的信息存储在一个或另一个sqlite DB中。 这些数据库可以在/ data / data /文件夹中找到。 要从adb读取这些数据库,您需要root权限。

android id可在/data/data/com.android.providers.settings/databases/settings.db

中找到

因此对于adb使用此命令。

adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "select value from secure where name = 'android_id'"

**您必须在adb中以root身份运行adb

答案 2 :(得分:5)

试试ANDROID_ID。正如文档所说“[它]是在第一次启动时随机生成的,并且应该在设备的生命周期内保持不变”。

答案 3 :(得分:4)

可以使用getprop

在设备中检索Android序列号

getprop ro.serialno

从Java,您可能希望使用Runtime.exec()

执行它

答案 4 :(得分:2)

请通过运行以下命令确保您的设备已连接。

adb devices -l

之后,要获取该设备的android id,可以运行以下命令。

adb shell content query --uri content://settings/secure --where "name=\'android_id\'"

答案 5 :(得分:1)

我使用adb。首先,我使用以下命令列出所连接的设备ID号:

adb devices

输出看起来像这样:

List of devices attached
YOGAA1BBB412    device

从上一个输出中,您将需要设备ID号(例如:YOGAA1BBB412)。要获取设备ID,我使用以下adb命令:

adb -s YOGAA1BBB412 shell getprop | grep product.model

输出如下:

[ro.product.model]: [Lenovo YT3-X90F]

答案 6 :(得分:0)

试试这个并找到除Android之外的id。该命令基本上给出了有关手机的所有信息。

adb -s <YOUR-DEVICE-ID> shell getprop

答案 7 :(得分:0)

使用getprop net.hostname,其后有一个关键字android-<64 bit Hexadecimal String> this link

示例:

[net.hostname]: [android-a487e0560d669e4a]

答案 8 :(得分:0)

adb

一样简单
adb devices -l

答案 9 :(得分:0)

adb shell设置获取安全的android_id

此命令返回ANDROID_ID,但它可能与在代码级别接收到的ANDROID_ID不同。该应用程序可以使用不同的最低API级别,并且从adb shell获得的值可能不匹配

可以从[net.hostname]属性获取ANDROID_ID。它适用于API级别23。

获取API级别23的android_id的命令

adb shell getprop net.hostname

在android 8.0及更高版本中,由于android隐私政策的更改,此道具返回null。 因此,ANDROID_ID仍然不是唯一的设备ID比较可靠的方法。

答案 10 :(得分:-1)

要在ubuntu上找到有关已连接USB设备的所有信息,请使用以下命令 lsusb -v
见链接 enter image description here 它会给你设备ID像 总线001设备005:ID 18d1:4ee7 Google Inc. 因此,请使用前四个“ 18d1”添加android usb规则

答案 11 :(得分:-3)

你应该使用IMEI:

    TelephonyManager m = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);
    String imei = m != null ? m.getDeviceId() : null;