title: Android Unique Serial Number
body: <p>I am developing an android application that targets Android 4.0 (API 14) and above.</p>
  
  <p>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).</p>
  
  <p>I have found lots of results on the web concerning unique identifiers for android devices, but very little on the <strong>android.os.Build.SERIAL</strong> number.</p>
  
  <p>So far, I eliminated the use of the <strong>ANDROID_ID</strong> because it might change after factory resets. I also eliminated the use of the <strong>IMEI</strong> because the android device might be non-phone. I cannot use the wifi or bluetooth <strong>MAC ADDRESS</strong> 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).</p>
  
  <p>I believe I might go for the android device serial number.</p>
  
  <p>It is easily accessible using <strong>android.os.Build.SERIAL</strong> (since it is added in API level 9 and does not need any additional permission).</p>
  
  <p>My questions are :</p>
  
  <ul>
  <li><p>Taking into consideration that my application targets Android 4.0 (API 14) and above, is the <strong>android.os.Build.SERIAL</strong> number for the android devices unique for each device ?</p></li>
  <li><p>Currently, documentation of <strong>android.os.Build.SERIAL</strong> indicates : <strong>A hardware serial number, if available. Alphanumeric only, case-insensitive.</strong>
  Does this mean that the serial number might not be available ?</p></li>
  <li><p>What could be another alternative that meets the conditions mentioned above ?</p></li>
  </ul>