#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 (и более поздних) версий.