Подтвердить что ты не робот

Получение идентификатора устройства Android из ADB и Android SDK

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

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

Мне все равно, какой уникальный идентификатор используется, просто что-то, что можно легко извлечь из обоих adb и android sdk. Коррекция устройства не будет вариантом.

4b9b3361

Ответ 1

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

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

settings get secure android_id

Или запросив поставщика контента настроек:

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

Ответ 2

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

Идентификатор 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

Ответ 3

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

getprop ro.serialno

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

Я использую 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]

Ответ 7

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

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