title: Generating reliable device ID that can never change
body: <p>I need to generate a reliable device ID. I'm using <code>Secure.getString(this.getContentResolver(), Secure.ANDROID_ID)</code> at the moment, but it changes after factory reset or with flashing another ROM. Could you suggest a truly hardware ID that cannot be changed?</p>
  
  <p>Upd: none of the solutions suggested so far help: the suggested IDs either can change, or not always available, or both. And I definitely need it to survive reinstallation, too.</p>