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

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

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

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

Спасибо и привет Сунил

4 ответа

Решение

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

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

Поскольку документация по 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, которые были представлены после их написания, что неудивительно.

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

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

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

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

Другие вопросы по тегам