I am developing an android application that targets Android 4.0 (API 14) and above.
I am looking for a serial number that is unique per device and that persists for ever (dies with the device, does not change after factory resets).
I have found lots of results on the web concerning unique identifiers for android devices, but very little on the android.os.Build.SERIAL number.
So far, I eliminated the use of the ANDROID_ID because it might change after factory resets. I also eliminated the use of the IMEI because the android device might be non-phone. I cannot use the wifi or bluetooth MAC ADDRESS because the device might not have such hardware and/or such mac addresses might not be readable if the hardware is not enabled (based on what I found on the web).
I believe I might go for the android device serial number.
It is easily accessible using android.os.Build.SERIAL (since it is added in API level 9 and does not need any additional permission).
My questions are :
Taking into consideration that my application targets Android 4.0 (API 14) and above, is the android.os.Build.SERIAL number for the android devices unique for each device ?
Currently, documentation of android.os.Build.SERIAL indicates : A hardware serial number, if available. Alphanumeric only, case-insensitive. Does this mean that the serial number might not be available ?
What could be another alternative that meets the conditions mentioned above ?