The format of Android build numbers has been the same for years, but it’s changing in Android 8.0. The first non-preview version of Oreo just rolled out with the new format, which is a big departure. Rather than being three letters followed by three other characters, it’s split into three blocks of numbers and letters separated by periods. It looks confusing at first, but you actually get more information from it.
Build numbers for Oreo and later will have the following format.
The P variable is the first letter of the platform release, so it’s “O” for Oreo currently. The V is for the vertical, which in all the builds you’re worried about will be “P” for primary platform branch. The BB characters represent an alphanumeric code that points to the exact code branch used in the build. For the first Oreo release on the Pixel, this is “R6.”
You can probably guess at the purpose of the center YYMMDD block just from the format. It’s the date (year, month, day) when the release was branched or synced with the development branch. This might not necessarily be the build date as it’s common to reuse the same code for multiple builds without going back to the dev branch. The “bbb” set of characters is simply a number that differentiates between multiple builds with the same date code. The Pixel is on 012 right now.
So, the Pixel’s build number “OPR6.170623.012” means that it’s Android Oreo for the primary platform branch from code branch R6. It was synced from the dev branch on June 23, 2017, and this is the 12th build with those variables. Easy, right?
AP build calculator
We’ve updated our Android build number date calculator to understand the new Oreo naming logic. Plug in one of the new or old builds, and it’ll spit out the right date.
Google has made a small tweak today to how build numbers work. They can now be appended by an optional two-character alphanumeric code that indicates and enumerates hotfix releases, starting from A1.
So in the case of PVBB.YYMMDD.bbb[.Cn], the bracketed Cn indicates a hotfix release. For more details, you can check out the relevant section in the “Platform Codenames, Versions, API Levels, and NDK Releases” section of the build numbers Android Source article.