title: Difference between targetSdkVersion and Project build target
body: <p>What is the difference between targetSdkVersion set in the Manifest file and the Project build target set in the building environment (e.g. Eclipse) ?</p>
  
  <p>I have tried to find more information on these two features, but I couldn't find any clear and specific explanation.</p>
  
  <p>It seems like the Project build target decides on the API compatibility level, to be used during the compilation. When the targetSdkVersion only affects the visibility of the manifest elements of the given API level.</p>
  
  <p>Could anyone confirm/expound this?</p>
  
  <p><strong>EDIT</strong>: Thanks guys for prompt responses. I forgot to mention in my question that I have read all the topics on Android Dev regarding these features and also googled it and searched it on Stack Overflow. So I understand the basic purpose of min/target/maxSdkVersion to be used in Android Market and in the Android System itself. However, according to other posts from people having problems with this Manifest option, it seems uses-sdk does actually have impact on how the the API level is interpreted. At least that is what I suspect. </p>
  
  <p>A <strong>really good</strong> explanation is given here:
  <a href="http://developer.android.com/guide/appendix/api-levels.html">http://developer.android.com/guide/appendix/api-levels.html</a></p>
  
  <p>However, it is still unclear for me whether the targetSdkVersion does affect the compilation/runtime of the APK on Android System? Or it is only for validation as the uses-sdk documentation suggests? </p>