Получение идентификатора устройства Android из ADB и Android SDK
Я ищу самый простой способ получить уникальный идентификатор устройства Android как от Android adb, так и от Android ADK.
Например, когда я использую команду adb 'devices', серийный номер подключенного устройства выводится на экран. Мне еще предстоит определить метод в Android sdk, чтобы получить тот же серийный номер.
Мне все равно, какой уникальный идентификатор используется, просто что-то, что можно легко извлечь из обоих adb и android sdk. Коррекция устройства не будет вариантом.
Ответы
Ответ 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;