Have you ever come across the term UDID when working with an Android device? You may have needed to provide it to install a beta version of an application, register with a corporate system, or test software. Although this identifier is not as widely known as IMEI or serial number, it plays an important role in the Android ecosystem - especially for developers, system administrators and users working with custom scenarios.
Unlike Applewhere UDID (Unique Device Identifier) was officially deprecated in 2013 due to privacy concerns, the term is still used on Android, but often under different names - (Google Advertising ID) or even ANDROID_ID, SSAID (Google Advertising ID) or even build.serial. In this article, we will figure out what UDID is on Android, how to find it (including without root access), how it differs from other identifiers, and why services like Firebase, Xamarin or corporate MDM systems sometimes require it.
Spoiler: on modern versions of Android, a โpureโ UDID in the usual sense no longer exists - instead, combinations of several identifiers are used. But more on this later.
What is UDID on Android and why do you need it?
UDID (Unique Device Identifier) is a unique code assigned to each mobile device. Historically, it was a 40-digit hash, tightly tied to the hardware ( iOS it was a 40-digit hash, tightly tied to the hardware (hardware-based). There is no similar role on Android, but the term โUDIDโ is often used to refer to any stable device identifier that:
- ๐น Does not change after resetting the settings (factory reset)
- ๐น Tied to the hardware, not to the Google account
- ๐น Can be used for authorization in corporate systems
- ๐น Allows you to track a device within one manufacturer (for example, Samsung KNOX)
The main difference from IMEI or MEID is the UDID is not tied to the communication module. It is needed for:
- ๐ฑ Developers: linking devices to test assemblies (Firebase App Distribution, TestFlight for Android)
- ๐ข Corporate users: registration in MDM systems (MobileIron, VMware Workspace ONE)
- ๐ Security: device authentication in banking or government applications
- ๐ Analysts: tracking unique installs (before restrictions were introduced on
ANDROID_IDin Android 10)
Starting from Android 10 (API 29)Google has tightened its privacy policy. Now ANDROID_ID (which used to be often called UDID) is reset when all data is deleted (factory reset), and access to it is limited. Instead, they use:
| Identifier | Format | Does it change after? reset? | Does it require permission? |
|---|---|---|---|
ANDROID_ID (Settings.Secure.ANDROID_ID) |
64-digit hash | Yes (with Android 10) | No (but limited for third-party applications) |
build.serial |
Custom string (for example, R58M23X1YZZ) |
No | Yes (READ_PHONE_STATE) |
| Google Advertising ID (GAID) | 32-digit hash | Can be reset manually | No (but the user can disable) |
| IMEI/MEID | 15 digits | No | Yes (READ_PHONE_STATE) |
โ ๏ธ Attention: Starting from Android 12evenbuild.serialcan be hidden for applications without special permissions. If you need a UDID for a corporate system, check with the administrator which identifier is required - it may be required manual extraction viaadb.
UDID vs IMEI vs serial number: what is the difference
Many users confuse UDID with IMEI or serial number. Let's look at the key differences:
- ๐ฑ IMEI (International Mobile Equipment Identity) - unique number communication module (modem). Linked to SIM card and operator. You can find out through
*#06#. Not suitable as UDID, because: - Absent on tablets without LTE
- May change when replacing the motherboard
- ๐ข Serial number (Serial) Number) โassigned by the manufacturer (for example, Samsung, XiaomiCan be found in the settings or on the box. Not always unique globally โsome brands repeat numbers in different regions.
- ๐ UDID (in the broad sense) is any stable identifier that:
- Does not depend on the SIM card
- Does not reset when updating firmware
- Can be used for software identification
In practice, โUDIDโ on Android often means:
Settings.Secure.ANDROID_IDโ before Android 10, this was the main โpseudo-UDIDโ. Now it changes after a reset.build.serialโ serial number, available. viaandroid.os.Build.SERIAL. On some devices (for example, Pixel) may be empty.- Combination of
ANDROID_ID + IMEI + MAC addresses(used in some MDM systems).
Example: if you need to register a device with Firebase for testing, the system may ask UDIDbut actually expect ANDROID_ID or hash from build.serial + IMEI.
If the service asks for "UDID" but not clarifies the format - try sending ANDROID_ID (can be obtained through the app Device ID from the Play Market). In 70% of cases this is enough.
How to find out UDID on Android: 4 working methods
Depending on the version of Android and the presence of root access, there are several ways to get an identifier that can be used as a UDID.
Method 1: through the app (without root)
The simplest method is to use utilities from Google Play:
- Install the application Device ID (from EVOZI) or UDID (from Kosh).
- Open section
Android IDorUnique Device ID. - Copy value
ANDROID_ID(64 characters) orSerial Number.
Example output:
ANDROID_ID: 5a3b7e2d1f8c4096Serial: R58M23X1YZZ
IMEI: 861234567890123
Method 2: Via ADB (without root)
If you have USB debugging i adb, do:
adb shell settings get secure android_id
To get the serial number:
adb shell getprop ro.serialno
โ ๏ธ Attention: On devices with Android 11+ the commandgetprop ro.serialnocan return an empty string if the manufacturer has blocked access. In this case, useadb shell cat /proc/cpuinfoand look for the stringSerial.Method 3: Through Engineering Mode (for devices on MTK)
On smartphones with a processor MediaTek (for example, Xiaomi Redmi, Realme):
- Dial in the phone application
##36446337##.- Go to
Connectivity โ CDS Information โ Radio Information.- In the field
AT+enterAT +EGMR=1,7and clickSEND AT COMMAND.- The response will contain a line with
UDIDor a similar identifier.Method 4: Through root and system files
If you have root-access, the UDID can be retrieved from:
- ๐
/data/data/com.android.providers.settings/databases/settings.db(fieldandroid_id)- ๐
/sys/class/net/wlan0/address(Wi-Fi MAC address, sometimes used as part of the UDID)- ๐
/proc/cpuinfo(stringSerial)Example command for extraction:
su
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "SELECT value FROM secure WHERE name='android_id';"โ๏ธ Check before sending UDID
Done: 0 / 4Why do developers need your device's UDID
If you have ever signed up for a beta app or accessed proprietary software, you have been asked to indicate UDIDWhy?
- ๐ Access control: UDID. is tied to the list of allowed devices in Apple Developer Portal (for iOS) or Firebase Console (for Android). This prevents leakage of beta versions.
- ๐ฆ Debugging: Logs from a device can be filtered by UDID to separate bugs from one user from another.
- ๐ Analytics: In corporate applications, UDID is used to track device activity (for example, in IBM MaaS360).
- ๐ก๏ธ Security: Banking applications (for example, SberBank Online) can check the UDID for substitution (if it suddenly changes, this may indicate hacking).
Practical example: the company Netflix previously used UDID to block rooted devices. Now they have switched to
SafetyNet Attestationbut some services still rely on old methods.Important: Starting with Android 10, applications cannot receive the ANDROID_ID of others. applications - only your own. This means that it is impossible to obtain a โuniversalโ UDID in the classical sense on modern Android devices without special permissions.
Is it possible to fake the UDID?
Technically yes, but this requires root access and changing system files. For example, you can edit
settings.dbor. replacebuild.prop. However, such actions will trigger the operation Google Play Protect and may block access to banking applications.Dangers and limitations of using UDID
Despite the convenience, working with UDID is associated with risks:
- Privacy: UDID can be used to track the user even after resetting the settings (if we are talking about
build.serial). IN EU this contradicts GDPR.- Blocks: Some services (for example, Pokรฉmon GO) were banned. devices by UDID for cheating.
- Android restrictions:
- C Android 10
ANDROID_IDresets whenfactory reset.- C Android 12
build.serialhidden for most applications.UDID alternatives that modern applications use:
Method Use example Disadvantages Google Advertising ID (GAID) Advertising networks (AdMob, Facebook Audience Network) The user can reset Installation ID Applications like Telegram or WhatsApp Changes when reinstalled SafetyNet Attestation Banking applications, Netflix Requires Internet and server verification โ ๏ธ Attention: If you are asked to provide a UDID to โunlock premium featuresโ in an unknown application, this is a scam. Legitimate services (like Firebase or Xamarin) never request a UDID through third-party channels (for example, email or Telegram).UDID on custom firmware and devices with root
On devices with custom ROM (for example, LineageOS, Pixel Experience) or root access, working with UDID has the following features:
- ๐ง
ANDROID_IDcan be generated anew at each reboot if the firmware is compiled with errors.- ๐
build.serialcan be changed by editing/system/build.prop(linero.serialno).- ๐ซ Some MDM systems (for example, Hexnode) block devices with a changed UDID.
Example of change
ro.serialno:sumount -o rw,remount /system
echo "ro.serialno=NEW_SERIAL_123" >> /system/build.prop
rebootAfter such manipulations:
- โ Applications like Magisk or LSPosed can mask the UDID to bypass checks.
- โ Banking applications (for example, Tinkoff) will stop working due to the triggering of SafetyNet.
On custom firmware, UDID may be unreliable. If you need a stable identifier for corporate systems, use official Android builds.
Common mistakes when working with UDID
Users and developers often encounter the following problems:
- Confuse UDID with IMEI:
Example: send
861234567890123(IMEI) instead5a3b7e2d1f8c4096(ANDROID_ID).- Copy an incomplete identifier:
ANDROID_IDMust be exactly 64 characters. If less, it means it was not completely copied.- Does not take into account the Android version:
On Android 9 and below
ANDROID_IDdoes not change after the reset, but on Android 10+ it changes.- They use incorrect tools:
Some applications from the Play Market do not show
ANDROID_ID, but the hash fromIMEI + MAC, which may not be suitable for registration in Firebase.How to avoid errors:
- ๐ Always check with the recipient of the UDID which identifier is needed (
ANDROID_ID,build.serialor a combination).- ๐ Check the length of the copied code (for
ANDROID_IDโ 64 characters, forbuild.serialโusually 11-15).- ๐ฑ If the UDID is not accepted, try getting it through
adbinstead of the application.FAQ: Frequently asked questions about UDID on Android
Is it possible to find out the UDID of someone else's device remotely?
No. UDID (in any of its manifestations) can only be obtained from physical access to the device or through special software with administrator rights (for example, in corporate MDM systems, you can calculate it
ANDROID_IDorbuild.serialimpossible.Why did my UDID change after resetting the settings?
Most likely, we are talking about
ANDROID_IDStarting from Android 10, it is generated again. atfactory reset. If you need a persistent identifier, usebuild.serial(but it requires permissionREAD_PHONE_STATE).Is it possible to use UDID to track a device like GPS?
No. UDID is just a string that does not contain location information. However, if an attacker knows your UDID and has access to a database (for example, a corporate MDM system), he can link other data to it, including movement history (if it is logged).
How to reset or change UDID on Android?
It depends on the type of identifier:
ANDROID_ID: resets automatically whenfactory reset(Android 10+).build.serial: can only be changed with root access (see section above).- Google Advertising ID: reset in settings (
Settings โ Google โ Advertising โ Reset advertising ID).Why do some games (for example, Genshin Impact) request UDID?
Games use UDID (or its analogues) for:
- Linking an account to a device (multi-account protection).
- Detecting cheating applications (for example, GameGuardian).
- Restricting access to regional versions (for example Honor of Kings in China).
If the game has blocked your device by UDID, contact support with proof of purchases - sometimes the blocking is removed.