There are certainly a couple of options for supporting multiple versions of Android which don't utilize the same API's, one way is reflection and another is using wrapper classes. Supporting multiple platform versions is a common thing to do and there is a fairly comprehensive article on both here.
To appropriately set the AndroidManifest.xml
you would need to add the following tag:
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="10"
android:maxSdkVersion="10" />
Where the minimum SDK is the lowest that your application supports and the target is the highest that your application has been tested on that you know works. Maximum SDK is optional if you REALLY do not want your application used above a certain API level (perhaps you use deprecated methods that are not supported in newer versions).
Edit: As far as which library to use, pick the lowest version that gives you all the functionality you need. If you need methods only available in API level 11, then use that. If it ends up being higher than your "minimum supported version," just remember to test the earlier versions very carefully.