Целевая версия Android SDK и телефоны

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

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

3 ответа

Решение

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

Я просто немного запутался, когда возился с targetSDK и minSDK

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

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

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

    private static int getApiLevel() {
            return Integer.parseInt(android.os.Build.VERSION.SDK);
    }
Другие вопросы по тегам