title: How can Build.VERSION_CODES possibly work?
body: <p>I'm confused on the internal workings of the Android API's.
  <br/>
  <br/>
  If my app is compiled against Android 5.0, then it's acceptable that the following works on a device running Android 5.0 and up:</p>
  
  <pre><code>if(Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.LOLLIPOP)
  </code></pre>
  
  <p>However, this still works if I run it on a device running older versions of Android. My assumption is that the library on that device doesn't have a definition for the variable <code>Build.VERSION_CODES.LOLLIPOP</code>. Then how can the variable be resolved on those older devices when the app runs this code?</p>