Запустить приложение с более высоким SDK на более низком SDK

#android #android-sdk-tools

#Android #android-sdk-tools

Вопрос:

Я хотел знать, работает ли приложение, разработанное в Android 3.0, на Android 2.1. Если да, то как я могу это сделать?

Если я разработаю приложение, используя библиотеки из версии 3.0, такие как fragments, будет ли оно работать в версии 2.1?

Комментарии:

1. Как добавить обратную совместимость к моему проекту?

2. на самом деле фрагменты недоступны в версии 2.1, поэтому, как сказал @Lukas Knuth, всегда старайтесь использовать максимально низкую версию Android

Ответ №1:

Нет. Но приложение 2.1 будет работать под управлением 3.0

Вы можете попытаться скопировать свой код и использовать его с библиотекой 2.1, но некоторые вещи не сработают (вам нужно будет проделать дополнительную работу, чтобы перенести его обратно).

Комментарии:

1. Я загрузил проект Google iosched, который предназначен для api уровня 11. Оно отлично работает на Android 2.2 (уровень api 8).

2. Что ж, если это сработает: отлично. Если нет: вы знаете, где это искать. Всегда старайтесь выбирать самую низкую версию Android из возможных (на данный момент должна быть 2.2 или 2.1).

Ответ №2:

Можно написать приложение, предназначенное для версии 3.0, которое также работает под управлением 2.1. Однако это требует тщательного использования библиотек и библиотеки совместимости.

Первым шагом является установка соответствующих android:minSdkVersion и android:targetSdkVersion значений в вашем файле манифеста. Это определит, какой диапазон устройств позволит запускать ваше приложение.

Второе — убедитесь, что вы не используете какие-либо функции API из более поздних SDK на платформах с более низкими версиями — попытки (например, попытка использовать ActionBar на устройстве 2.2) приведут к сбою вашего приложения.

Я бы настоятельно рекомендовал прочитать статьи Рето Мейера о поддержании обратной совместимости: http://blog.radioactiveyak.com/2011/01/how-to-use-gyroscope-api-and-remain.html
http://blog.radioactiveyak.com/2011/02/strategies-for-honeycomb-and-backwards.html

Кроме того, определенно стоит изучить исходный код для приложения ввода-вывода Googles, чтобы увидеть, как они справляются с запуском на широком спектре устройств, при этом все еще используя функции Honeycomb (и более поздних) версий.