Google has released the latest version of Android, Android O, which is now available only for Developer Previews and the new O version brings a ton of changes. The Developer Previews give app and game developers a chance to make and try their software on the new platform in order to take advantage of the improvements.
In a recently blog post, Google has listed a few improvements that Android O brings for users over the use of identifiers. In O, Android ID has now a different value for each app and even each user on the device. If the package name and the signing keys still remain the same, the value will also not change on package uninstalled or reinstalled. It will only change when users perform a factory reset or if the signing keys are changed. Earlier Android versions, which are already updated to Android O, will be kept the same Android ID if the app is not uninstalled and reinstalled.
Android O also adds a new API, Build.getSerial() for the now-deprecated android.os.Build.SERIAL replacement to be coherent with runtime permissions that are required for IMEI access. Other system properties are also disabled in Android O in addition to Build.SERIAL, such as:
- runtime.firstboot: Millisecond-precise timestamp of first boot after most recent boot
- camera.sensor.front_SN: Camera serial number (for HTC devices)
- service.bdroid.bdaddr: Bluetooth MAC address property
- Secure.bluetooth_address: Device Bluetooth MAC address.
Moreover, a robust MAC address randomization system for randomizing Wi-Fi scan traffic is also merged in Android O. These changes were made for the new chipset firmware on the Google Pixel, Nexus 5X, and these firmware changes is integrated into the Android Wi-Fi stack so that other devices, which are running the similar chipset and Android O can also get the benefits from these changes.
However, these new changes will limit the use of non-resettable identifiers. They also provide more user-facing control and the way that applications request account information is changed as well.