我正在寻找从Android adb和Android ADK本身获取唯一Android设备标识符的最简单方法。
例如,当我使用adb'devices'命令时,我连接的设备的序列号输出到屏幕。我还没有在Android sdk中找到一个方法来获取相同的序列号。
我不关心使用什么唯一标识符,只是可以从adb和android sdk轻松检索到的东西。生根设备不是一种选择。
答案 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)
答案 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
见链接
它会给你设备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;