2012-06-01 4 views
1

Итак, я написал приложение Android некоторое время назад, и я пытаюсь его обновить. Я хочу построить разделы кода, где, если телефон, на котором они установлены, меньше 3.0, сделайте что-то в одном направлении, иначе сделайте это по-другому.Android-версия SDK для Android и телефоны

My build target установлен в 11 в файле project.properties, но он по-прежнему работает на версиях Android < 3.0? Это нормально? В какой-то момент я увижу некоторый крушение? Кажется, все работает ... Моя minSDKVersion - 8, но бывает, когда я запускаю это приложение с кодом Android 3.0 на Android 2.3.3?

ответ

0

Я думаю, что у меня был тупой момент. Если я установил свой minSDK на 8, то ничего нового, чем 8, должно работать нормально. Если я установил цель сборки на 11, а затем выполнил проверки перед запуском любого кода, который является новее 8 на телефонах с SDK старше 11, тогда это должно охватывать все базы.

Я только что получил немного смущен, когда я баловаться с targetSDK и minSDK

Спасибо за комментарии.

1

Он будет нормально работать на платформах еще в качестве уровня API 8, поскольку это то, что у вас есть как ваш minSdkVersion. Однако это приведет к сбою на ранних (до 11) платформах, если вы попытаетесь вызвать любые API, которые были введены на уровне 11 или более поздних версий. Чтобы этого избежать, вы должны проверить версию ОС во время выполнения перед вызовом любых таких методов. См. Retrieving Android API version programmatically за советом о том, как это сделать.

1

Как правило, лучше работать с низкими API-интерфейсами при приближении к такого рода разработкам. Каждый раз, когда вы закончите рабочую версию API, убедитесь, что она компилируется без ошибок, прежде чем перейти на следующий уровень. Манифест предупредит вас, если вы targetSdkVersion, а ваш minSdkVersion отличается; однако это в основном просто для того, чтобы вы были осторожны, чтобы не вызывать методы из более высоких API-интерфейсов. Полезная работа может быть:

private static int getApiLevel() { 
      return Integer.parseInt(android.os.Build.VERSION.SDK); 
    } 
Смежные вопросы