Android os build serial

flawyte / Device.java

NOTE 2021/01/08: As of Android 10 (API level 29), there’s no way for non-system and non-carrier apps to get the device’s serial number, not even by calling the new Build.getSerial() method with the READ_PHONE_STATE permission, since per the docs it’ll always either return Build.UNKNOWN (API SecurityException (API >= 29). This means that the code below might not work on some devices running Android 10+, due to changes in the Android OS itself and AFAIK there’s no work around. See this official guide to migrate from using the device’s serial number ; the Settings.Secure.ANDROID_ID might also be a good replacement. Also read the comments to see how other people are dealing with this problem, maybe someone has found a solution that will help you.

This code snippet has been successfully tested on the following devices and Android versions :

  • Archos 133 Oxygen : 6.0.1
  • Google Nexus 5 : 6.0.1
  • Hannspree HANNSPAD 13.3″ TITAN 2 (HSG1351) : 5.1.1
  • Honor 5C (NEM-L51) : 7.0
  • Honor 5X (KIW-L21) : 6.0.1
  • Honor 9 Lite (LLD-L31) : 8.0
  • Huawei M2 (M2-801w) : 5.1.1
  • Samsung Galaxy S5 (SM-G900F) : 6.0.1
  • Samsung Galaxy S6 (SM-G920F) : 7.0
  • Samsung Galaxy Tab 4 (SM-T530) : 5.0.2
  • Xiaomi Mi 8 (M1803E1A) : 8.1.0

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

Источник

Identifying an Android Device – Available Identifiers

Here are various IDs can be obtained programmatically on Android that can be used to identify a device or installation. I’ve tried to provide a little bit of information about each one and what permissions are required to obtain it.

Identifier Example Value Permission Required
Android ID via Settings.Secure 2fc4b5912826ad1 NONE
Android Build.SERIAL HT6C90202028 NONE
Android Build.MODEL Pixel XL NONE
Android Build.BRAND google NONE
Android Build.MANUFACTURER Google NONE
Android Build.DEVICE marlin NONE
Android Build.PRODUCT marlin NONE
IMEI 352698276144152 READ_PHONE_STATE
Phone Number 2028675309 READ_PHONE_STATE or READ_SMS
ICCID (Sim Serial Number) 311477629513071 READ_PHONE_STATE

Android ID via Settings.Secure

This is a 64-bit quantity that is generated and stored when the device first boots. It is reset when the device is wiped. It is unique device-wide per OS install, but only unique per application starting with Android O (with old applications grandfathered in).

Android Build.SERIAL

Since Android 2.3 (“Gingerbread”) this is available via android.os.Build.SERIAL. Devices without telephony are required to report a unique device ID here; some phones may do so also.

A hardware serial number, if available. Alphanumeric only, case-insensitive.

Android Build.MODEL

The end-user-visible name for the end product.

Android Build.BRAND

The consumer-visible brand with which the product/hardware will be associated, if any.

Android Build.MANUFACTURER

The manufacturer of the product/hardware.

Android Build.DEVICE

The name of the industrial design.

Android Build.PRODUCT

The name of the overall product.

IMEI (International Mobile Equipment Identity)

Returns the unique device ID, for example, the IMEI for GSM and the MEID or ESN for CDMA phones. Return null if device ID is not available.

Phone Number

Returns the phone number string for line 1, for example, the MSISDN or a GSM phone. Return null if it is unavailable.

ICCID (Sim Serial Number)

Returns the serial number of the SIM, if applicable. Return null if it is unavailable.

Источник

Русские Блоги

Уникальная идентификация Android-устройства

Предисловие

Недавно я хотел узнать о получении уникальной идентификации устройства, и тут у меня заболела голова. тогда. . . . . .
Подведем итоги сегодня.

Разница между IMEI, MEID, ESN, IMSI, android_id

Давайте сначала определим несколько концепций, которые способствуют следующему развитию:
1.IMEI

  • (IMEI: международный идентификационный номер мобильного оборудования) — это знак, который определяет мобильное оборудование. Он хранится в мобильном оборудовании и может использоваться для отслеживания украденного или недействительного мобильного оборудования. Состав IMEI показан на рисунке ниже. Наберите «* # 06 #», чтобы найти его.
  • Общая длина составляет 15 цифр, и для каждой цифры используются только 0–9 цифр. Среди них TAC представляет собой код сборки модели, присвоенный Европейским центром стандартизации моделей; FAC представляет номер производителя сборки; SNR — серийный номер продукта, используемый для различения каждого мобильного устройства в одном TAC и FAC; SP — резервный код.

IMEI состоит из 15 цифр, а его состав:
1. Первые 6 цифр (TAC) — это «номер утверждения модели», который обычно представляет модель.
2. Следующие две цифры (FAC) — это «окончательный номер сборки», который обычно обозначает место производства.
3. Следующие 6 цифр (SNR) — это «серийный номер», который обычно представляет собой производственный порядковый номер.
4. Последняя цифра (SP) обычно «0», это контрольный код, который в настоящее время зарезервирован.

Роль строкового кода:
IMEI: TAC + FAC + SNR + SP. IMEI (International Mobile Equipment Identity) — это аббревиатура от International Mobile Equipment Identity. International Mobile Equipment Identity — это «электронный серийный номер», состоящий из 15 цифр. Он соответствует каждому мобильному телефону один за другим, а код является всемирным. только. После сборки каждому мобильному телефону будет присвоен глобально уникальный набор номеров, который будет записан производителем от производства до доставки.
Когда мобильный телефон украден, если вы знаете код IEMI, вы можете заблокировать мобильный телефон через оператора мобильной связи, то есть узнать номер мобильного телефона после кражи, отключить функцию вызова мобильного телефона и узнать номер мобильного телефона. должность. В обычных условиях поставщики не принимают запросы от частных лиц или организаций на обнаружение или блокировку мобильных телефонов. В Китае соответствующие департаменты национальной безопасности будут в определенной степени управлять серийными номерами мобильных телефонов.

  • Идентификатор мобильного оборудования (MEID) — единственный 56-битный идентификационный номер мобильного терминала в мире. Идентификационный номер будет записан в терминал и не может быть изменен. Может использоваться для идентификации и отслеживания мобильных устройств. Поскольку сегмент номера ESN является ограниченным ресурсом, он в основном исчерпан, и может быть небольшое количество повторно используемых сегментов номера, поэтому 56-битный сегмент номера MEID был разработан для замены 32-битного сегмента номера ESN. MEID в основном используется для мобильных телефонов CDMA.
  • Из-за увеличения числа мобильных устройств CDMA исходного 8-битного ESN недостаточно, поэтому получился MEID 56 бит = (56/4 = 14 байтов). Современные мобильные телефоны CDMA обычно имеют как ESN / MEID. MEID также выражается в шестнадцатеричном формате.

MEID идентифицируется 14 шестнадцатеричными цифрами, а 15-я цифра является контрольной цифрой, которая не участвует в эфирной передаче.
RR: диапазон A0-FF, выделенный официальным лицом
XXXXXX: диапазон 000000-FFFFFF, выделенный официальным
ZZZZZZ: диапазон 000000-FFFFFF, серийный номер, присвоенный каждому терминалу производителем.
C / CD: 0-F, проверьте код

Номера IMEI и MEID в мобильных телефонах похожи на идентификационные карты в нашей жизни. Они являются важной основой для идентификации мобильных телефонов. Например, мобильные телефоны с ложными номерами, операторы сети могут в любой момент отключить этот мобильный телефон в сети с помощью технических средств. Это принесет огромные риски пользователям мобильных телефонов. На номера IMEI или MEID, используемые в мобильных телефонах, можно по закону подать заявку через соответствующие агентства, такие как Moore Laboratories.
Кроме того, приложение MEID требует оплаты. Текущая цена составляет 8000 долларов США за каждый MEID в диапазоне 1M и дополнительные 8000 долларов США за каждый дополнительный номер MEID в диапазоне 1M.
Номера MEID назначаются и управляются Ассоциацией телекоммуникационной индустрии (TIA).
Проверка номера MEID, в настоящее время не существует универсального метода, который устанавливается каждым производителем мобильных телефонов. Вы можете проверить номер MEID, проверив инструкцию к телефону.

  • Электронный серийный номер в системе CDMA является уникальным идентификатором для идентификации физического аппаратного устройства. Другими словами, каждый мобильный телефон использует этот уникальный идентификатор для идентификации, как и личная идентификационная карта. ESN в CDMA соответствует IMEI в сети GSM. ESN имеет 32 бита,
  • То есть 32/4 = 8 байтов. С увеличением количества мобильных устройств CDMA ESN становится недостаточно, поэтому вводится MEID с большим количеством цифр. ESN выражается в шестнадцатеричном формате.
  • Международный идентификационный номер мобильного абонента (IMSI: International Mobile Subscriber Identification Number) — это знак, который различает мобильных пользователей. Он хранится на SIM-карте и может использоваться для отличия эффективной информации от мобильных пользователей.
  • Общая длина IMSI не превышает 15 цифр, также используются числа от 0 до 9. Среди них MCC — это код страны мобильного пользователя, который занимает 3 цифры. MCC Китая определяет его как 460; MNC — это номер мобильной сети, состоящий из двух цифр, используемый для идентификации сети мобильной связи, к которой принадлежит мобильный пользователь;
  • MSIN — это идентификационный код мобильного пользователя, используемый для идентификации мобильных пользователей в сети мобильной связи.
  • Уникальный идентификационный код устройства Android

Согласно приведенному выше резюме, соответствующая информация о вашем мобильном телефоне выглядит следующим образом:
meid[99000939335539]
imei1[863254036690765]
imei2[863254036690773]
simSerialNumber [89860117801033225378]
subscriberId [460011691516816]
Это телефоны Huawei:
MEID:A000007F2C4002
IMEI1:866957038217380
IMEI2:866957038364067
PESN:802B5D2A
SN:8BN02179015937
Поскольку мой мобильный телефон поддерживает две SIM-карты, у меня есть два номера imei.

Получите анализ уникальной идентификации Android

1. DEVICE_ID, разные мобильные устройства возвращают IMEI, MEID или ESN код

Это серийный номер, предоставляемый системой Android разработчикам для идентификации мобильных телефонов, и он также является наиболее универсальным среди различных методов.Можно сказать, что почти все устройства могут возвращать этот серийный номер с хорошей уникальностью.

Немобильное устройство: если только устройство с Wi-Fi или музыкальный проигрыватель не имеет аппаратной функции для звонков, такого DEVICE_ID нет.
Разрешение: для получения DEVICE_ID требуется разрешение READ_PHONE_STATE, но если мы его только получаем и не используем другие функции вызова, то это разрешение слишком велико для использования

1.1 Sim Serial Number — уникальный идентификатор SIM-карты мобильного телефона.

код показан ниже:

Примечание. Для устройств CDMA возвращается нулевое значение.

1.2 Некоторые другие значения, которые может получить TelephonyManager

Дополнительные сведения о TelephonyManager см. В этом блоге.Telephonymanager подробно

2. MAC-адрес

MAC-адрес глобально уникален и не может быть сброшен пользователем, а также не изменится после восстановления заводских настроек. Как правило, не рекомендуется использовать MAC-адреса для какой-либо формы идентификации пользователя. Поэтому начиная с Android M,Больше не доступно через сторонние APIMAC-адрес локального устройства (например, WLAN и Bluetooth). [WifiInfo.getMacAddress()] Методы и [BluetoothAdapter.getDefaultAdapter().getAddress()] Метод вернет 02:00:00:00:00:00 。

Есть способы получить MAC-адрес 8.0wifi в Интернете:

Вышеупомянутый метод доступен как для мобильных телефонов Xiaomi Android 8.0, так и для мобильных телефонов Huawei Honor 8.0. Остальные телефоны не тестировал.

заметка:
Чтобы получить MAC-адрес, он должен быть подключен к сети Wi-Fi, иначе соответствующее имя не будет получено.

3.ANDROID_ID

Когда устройство запускается в первый раз, система случайным образом сгенерирует 64-битное число и сохранит его в виде шестнадцатеричной строки. Эта шестнадцатеричная строка — ANDROID_ID. При очистке устройства значение будет Сброс.
можно получить следующим способом:

ANDROID_ID можно использовать как идентификацию устройства, но вам нужно обратить внимание на:
1. Ошибка индивидуальной системы производителя: разные устройства могут генерировать один и тот же ANDROID_ID: 9774d56d682e549c.
2. Ошибка индивидуальной системы производителя: некоторые устройства возвращают null.
3. Различия между устройствами. Для устройств CDMA ANDROID_ID и TelephonyManager.getDeviceId () возвращают одно и то же значение.

4. серийный номер

Серийный номер можно получить с помощью следующего метода для системы Android версии 2.3 и выше, и немобильные устройства также могут получить его через этот интерфейс.

4.1 Некоторые значения, которые можно получить в android.os.Build

Непосредственно по коду:

Ниже приводится соответствующая информация, полученная Huawei Honor 9 и Xiaomi:

Serial_Num: 8BN0217919015937
Manufacturer: HUAWEI
Model: STF-AL00
Brand: HONOR
Device: HWSTF
Ниже представлена ​​соответствующая информация о Mi 6.
Sim_SN: 89860117801033225378
Manufacturer: Xiaomi
Model: MI 6
Brand: Xiaomi
Device: sagit

5. ID установки

Принцип этого метода заключается в генерации идентификатора при первом запуске программы после установки. Этот метод отличается от уникальной идентификации устройства. Различные приложения будут генерировать разные идентификаторы, и одна и та же программа будет отличаться при переустановке. Таким образом, это не уникальный идентификатор устройства, но можно гарантировать, что идентификатор каждого пользователя отличается. Можно сказать, что он используется для идентификации уникального идентификатора каждого приложения (т.е. идентификатора установки), который можно использовать для отслеживания количества установок приложений и т. Д.
Непосредственно загрузите код:

Приведенный выше код также можно реализовать с помощью SharedPreferences:

Фактическое использование идентификаторов

Прежде всего, мы должны сначала выяснить конкретные потребности нашего оборудования для отслеживания. В настоящее время существует не более двух видов спроса:

  • 1. Отслеживайте оборудование на уровне цикла использования пользовательского оборудования.
    означает рассматривать устройство как новое устройство каждый раз, когда пользователь стирает данные с устройства и восстанавливает заводские настройки.
  • 2. Отслеживание оборудования на аппаратном уровне.
    означает, что устройство следует рассматривать как то же устройство после удаления данных или восстановления заводских настроек.

1. Отслеживайте использование оборудования пользователем на уровне

Теоретически значения Android_ID нам достаточно для выполнения этого требования, но именно из-за недостатков в Android_ID мы не можем напрямую идентифицировать устройство. Здесь мы используем несколько значений, чтобы избежать этих недостатков.
Я рекомендую использовать Android_ID и серийный номер Sim для идентификаторов, связанных с жизненным циклом пользовательского оборудования. Кроме того, можно добавить Device_ID, а идентификатор устройства можно вычислить и сгенерировать с помощью UUID или MD5.

  • Реализация UUID:
  • Реализация MD5 (алгоритм MD5 см. Ниже):

2. Отслеживание оборудования на аппаратном уровне.

Для отслеживания устройств на аппаратном уровне рекомендуется использовать идентификаторы оборудования, такие как идентификатор устройства (DeviceId), Mac-адрес, серийный номер устройства (SN) или марка устройства, название модели и т. Д. Эти значения вводятся после того, как пользователь удалит данные или восстановит заводские настройки. Это не изменится. Точно так же, чтобы повысить стабильность и устранить дефекты одного идентификатора, мы используем несколько идентификаторов для объединения, а затем вычисляем нужный нам идентификатор устройства с помощью алгоритма UUID или MD5.

  • Реализация UUID:
  • Реализация MD5 (алгоритм MD5 см. Ниже):

Чтобы дополнить требуемый выше md5:

Важная вещь в реальном бою выше — это мысль.

подводить итоги

Резюме выше, я почти сумасшедший. Эта работа относительно тривиальна, без чувства системы. Свяжите один кусок и соедините вместе. Боже мой! ! !

Источник

Читайте также:  Советские комедии для андроида
Оцените статью