Class AndroidVersions

java.lang.Object
org.robolectric.versioning.AndroidVersions

public final class AndroidVersions extends Object
Android versioning is complicated.
1) There is a yearly letter release with an increasing of one alpha step each year A-> B, B-> C, and so on. While commonly referenced these are not the release numbers. This class calls these shortcodes. Also minor version number releases (usually within the same year) will start with the same letter.
2) There is an SDK_INT field in android.os.Build.VERSION that tracks a version of the internal SDK. While useful to track the actual released versions of Android, these are not the release number. More importantly, android.os.Build.VERSION uses code names to describe future versions. Multiple code names may be in development at once on different branches of Android.
3) There is a yearly release major number followed by a minor number, which may or may not be used.
4) Relevant logic and reasoning should match androidx.core.os.BuildCompat.java with the caveat that this class guess at the future release version number and short of the current dev branch.