Прямая или обратная совместимость в Android?

Я хотел бы знать, обеспечивает ли Android какую-либо совместимость, то есть вперед или назад. Это означает, что, как и в Blackberry, если разработать приложение с JDE 4.2, то это приложение будет работать на любом телефоне с OS 4.2 или выше, что означает, что оно имеет прямую совместимость. Есть ли что-то подобное в Android?

Предположим, я разрабатываю приложение с Android SDK 1.5, тогда это приложение будет работать на любом телефоне с ОС 1.5 или выше.

Надеюсь получить ответ в ближайшее время.

Спасибо и с уважением Сунил


person sunil    schedule 29.01.2010    source источник


Ответы (4)


Прямая совместимость несколько обеспечена для основных версий. На Android вы ориентируетесь на минимальную спецификацию API. Пока вы не вызываете частные API, Google поддерживает совместимость на устройствах, которые присоединяются к их Open Mobile Alliance.

Это не означает, что кто-то не может получить исходный код Android и выпустить собственную ОС на базе Android, которая полностью нарушает совместимость. Эти устройства не получат доступ к Google Market Place, потому что его могут использовать только лицензированные устройства, которые тестирует Google. Если это то, где вы выпускаете, у вас, вероятно, не будет никаких проблем.

person Zac Bowling    schedule 29.01.2010
comment
Зак, устройства Android должны пройти набор тестов на совместимость, в том числе тестирование общедоступных API. Если общедоступные API отличаются, это устройство нельзя назвать устройством Android. - person Romain Guy; 29.01.2010
comment
Любой может использовать маленького зеленого парня Android под лицензией CC, но логотип Android (эта футуристическая штука со странным шрифтом) лицензирован только для членов OMA для их устройств. Google владеет товарным знаком на Android (хотя по этому поводу ведутся судебные разбирательства). IANAL, но до тех пор, пока вы не подразумеваете, что вы являетесь одобренной Google ОС/устройством Android и, вероятно, имеете право на добросовестное использование. - person Zac Bowling; 29.01.2010

Поскольку документация по Android распространяется под лицензией Apache, мне удобно процитировать большой раздел:

Приложения Android, как правило, совместимы с новыми версиями платформы Android.

Поскольку почти все изменения в API-интерфейсе платформы являются аддитивными, приложение Android, разработанное с использованием любой данной версии API (в соответствии с его уровнем API), совместимо с более поздними версиями платформы Android и более высокими уровнями API. Приложение должно работать на всех более поздних версиях платформы Android, за исключением отдельных случаев, когда приложение использует часть API, которая впоследствии по какой-либо причине удаляется.

Прямая совместимость важна, поскольку многие устройства на базе Android получают системные обновления по беспроводной сети (OTA). Пользователь может установить ваше приложение и успешно его использовать, а затем получить OTA-обновление до новой версии платформы Android. После установки обновления ваше приложение будет работать в новой версии среды выполнения, но с API и системными возможностями, от которых зависит ваше приложение.

...

Приложения Android не обязательно обратно совместимы с версиями платформы Android старше той версии, для которой они были скомпилированы.

Каждая новая версия платформы Android может включать новые API-интерфейсы платформы, например те, которые предоставляют приложениям доступ к новым возможностям платформы или заменяют существующие части API.

-- Откуда: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

Хотя они совместимы с предыдущими версиями, приложения для Android не смогут использовать функции SDK, которые были представлены после их написания, что неудивительно.

person user1880946    schedule 09.12.2012

Это не то, что означает «совместимость вперед». Вы думаете об "обратной совместимости". «Обратная совместимость» означает, что новые версии платформы (например, Android) по-прежнему будут запускать старое программное обеспечение, разработанное для более старой версии платформы. «Прямая совместимость» — это точное обратное: более старое программное обеспечение, разработанное для более старой версии платформы, по-прежнему сможет использовать новые функции новой платформы.

Примером обратной совместимости является то, что они переименовывают один из методов в ICS, но по-прежнему реализуют устаревшую версию старого метода и передают его в новую реализацию.

В то время как обратная совместимость почти всегда гарантируется, прямая совместимость гарантируется только в определенных сценариях. Примером прямой совместимости может быть ситуация, когда они реализуют новую функцию в ОС (например, «разведение пальцев для масштабирования»), а приложения, написанные до появления этой функции, все еще могут использовать эту функцию.

person Kirk Woll    schedule 15.06.2012
comment
Возможно, это технически правильно, но я думаю, что ОП рассуждает, как и я, что если создатели Android поддерживают обратную совместимость, вы можете называть приложения, разработанные для старых версий Android которые продолжают работать над новыми версиями, совместимыми с пересылками. Это может показаться глупым, поскольку разработчики приложений не контролируют это, а противопоставляют iOS. (Одна из моих любимых игр, Color Zen, была заброшена ее разработчиками. Следовательно, ее больше нет в магазине iOS, поскольку она не совместима с предыдущими версиями — вина Apple — но она есть в магазине Google Play. ) - person Wildcard; 16.05.2017

Я думаю, что система Android обратно совместима, и это обеспечивает прямую совместимость приложения Android.

person Wei Yang    schedule 15.06.2012
comment
пожалуйста, пишите авторитетные ответы - person Thomas Dignan; 21.10.2012