Если я правильно читаю ваш вопрос, то это позволит установить ваше приложение на устройствах с уровнем 7
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="12" />
Для разработки вы можете установить для него любую цель, которую вы хотите, например, цель вашего проекта можетбыть SDK 4.0, но вы можете указать, что target может быть 1.5 (android: targetSdkVersion = "3") или наоборот.Eclipse выдаст вам предупреждение, но вы можете разрабатывать для любой цели и настраивать манифест на любую цель, если вы принимаете во внимание последствия.
Вы, вероятно, знаете, что в этой области нужно проделать определенную работуВы пишете код, чтобы убедиться, что приложение не падает, если оно пытается вызвать методы, которые не существуют на уровне 7. Я написал код для обработки этого, если вам нужны примеры.
РЕДАКТИРОВАТЬ:
Пример, который работает для меня.
/**
* Get the current SDK version as an integer. If we are using 1.5 the SDK is
* returned as a String so using the Build.VERSION.SDK_INT method will cause
* the application to crash. This method will return 3 if the version is 1.5
* and will return the proper result for Build.VERSION.SDK_INT if that
* method is available.
*
* @return
*/
public static int getSdkInt() {
if (Build.VERSION.RELEASE.startsWith("1.5"))
return 3;
try {
return YourInternalClass.getSdkIntInternal();
} catch (VerifyError e) {
Log.e(TAG, e.toString());
return 3;
}
}
Вы должны вызывать любые методы, которые могут не существовать во внутреннем классе, чтобы он не загружался до тех пор, пока метод не будет вызван.
private static class YourInternalClass {
private static int getSdkIntInternal() {
return Build.VERSION.SDK_INT;
}
}
Теперь вы можете проверить версию SDK.Если у вас есть какие-либо методы, которые существуют только в пакетах больше 7, поместите эти методы во внутренний класс.тогда вы можете сделать
if(TheClassYouPutThisMethodIn.getSDKInt() >= 12)
YourInternalClass.yourLevel12Method();
Я уверен, что, возможно, есть лучший способ сделать это (и я надеюсь, что кто-то может опубликовать это), но он прекрасно работает для меня.У меня есть приложения, использующие методы из SDK 13, работающие безопасно на телефоне с уровнем 3.
Надеюсь, это поможет.