I'm really getting confused by the 3 things. Although i found some threads discussing about these things. But none of them can make it super clear for me to understand what's really going on.
what does it mean by setting android build target in eclipse? there's some people saying "it means eclipse will build your application against the build target". Then what does it really mean by "build your application"?? does it mean eclipse will only compile my application with the android library of that build target, if it find some methods or classes which is not in that android library, it won't compile successfully???
in my project, I'm referencing the sherlock action bar open source project, in the manifest file of sherlock project, it specifies the minisdkversion = 11, But my application is supposed to support api level 8 ( android 2.2 ). Then what will happen? my application will still run correctly on device with api level 8? or won't be able to installed on those devices? Even if it can run on device of api level 8, why it's allowed? My referencing project saying it'll can only run on device whose api level >= 11.
why I can use APIs not exists on the old device if i use the android-support-v4 package, like fragment ( introduced in api level 11 )??? I mean I know when I'm writing code, I imported the jar file, so it'll compile. But when it's on my real device, say, my HTC desire. the OS 2.2 doesn't know what's fragment class, how it's gonna work?
Somehow I guess the support-v4 package code is also compiled and "installed" on the old version device, so that when the application run, it'll automatically find the fragment class code and execute it correctly. If it's like that, please tell me what did i do in configuration makes the support-v4 package will be transported and installed on the real device.
4.what does the AVD target mean?? does it mean what OS version is installed on this emulator?