Получение идентификатора устройства Android из ADB и Android SDK - PullRequest
25 голосов
/ 30 марта 2011

Я ищу самый простой способ получить уникальный идентификатор устройства Android как от Android ADB, так и от самого Android ADK.

Например, когда я использую команду adb 'devices', на экран выводится серийный номер моего подключенного устройства.Мне еще предстоит определить метод в Android SDK, чтобы получить тот же серийный номер.

Мне все равно, какой уникальный идентификатор используется, просто что-то, что можно легко получить как из ADB и Android SDK,Руттинг устройства не будет опцией.

Ответы [ 9 ]

56 голосов
/ 30 ноября 2012

Возможно, вы захотите использовать ANDROID_ID.

Вот как вы можете запросить его значение через оболочку adb:

settings get secure android_id

Или запросив у поставщика содержимого настроек:

content query --uri content://settings/secure/android_id --projection value
11 голосов
/ 17 октября 2013

Android сохраняет всю информацию, связанную с устройством, в одной или другой sqlite DB. Эти базы данных можно найти в папке / data / data /. Для чтения этих баз из adb вам понадобятся права суперпользователя

Идентификатор Android доступен в /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

5 голосов
/ 30 марта 2011

Попробуйте ANDROID_ID . Как сказано в документации, «[он] генерируется случайным образом при первой загрузке и должен оставаться постоянным в течение всего срока службы устройства».

4 голосов
/ 29 марта 2016

Серийный номер Android можно получить с помощью устройства getprop :

getprop ro.serialno

В Java вы можете выполнить его с помощью Runtime.exec ()

1 голос
/ 10 января 2018

Я использую ADB. Сначала я перечислю идентификаторы подключенного устройства с помощью следующей команды:

adb devices

И результат будет выглядеть примерно так:

List of devices attached
YOGAA1BBB412    device

Из предыдущего вывода вам потребуется идентификационный номер устройства (например: YOGAA1BBB412). Чтобы получить идентификатор устройства, я использую следующую команду adb:

adb -s YOGAA1BBB412 shell getprop | grep product.model

И вывод выглядит так:

[ro.product.model]: [Lenovo YT3-X90F]
0 голосов
/ 24 апреля 2019

Просто как с adb

adb devices -l
0 голосов
/ 20 сентября 2018

Используйте getprop net.hostname с уникальным идентификатором Android , за которым следует ключевое слово android-<64 bit Hexadecimal String>

пример:

[net.hostname]: [android-a487e0560d669e4a]
0 голосов
/ 07 ноября 2017

Попробуйте и найдите id помимо Android. Команда дает практически всю информацию о телефоне.

adb -s <YOUR-DEVICE-ID> shell getprop
0 голосов
/ 30 марта 2011

вы, вероятно, должны использовать IMEI:

    TelephonyManager m = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);
    String imei = m != null ? m.getDeviceId() : null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...