Андроид; Существуют ли какие-либо изменения между 2.1 и 2.2, что разработчики должны знать с обратной совместимостью?

StackOverflow https://stackoverflow.com/questions/3890218

Вопрос

Я создал несколько приложений, которые были целены против 2.2

Я думаю, чтобы инвестировать в дешевую трубку, чтобы попробовать их (до сих пор только использовал эмулятор). Телефон, который я хочу, бежит верион 2.1 Android.

Из кодовой точки зрения есть какие-либо серьезные изменения между 2.1 и 2.2, которые могут потенциально вызвать мне вопрос?

Я понимаю, что были бы проблемы, если бы я пытался развернуть в телефоне 1.x (например, людей / контрактный символ и т. Д.), Но я не вижу ничего, чтобы сказать, что приложение 2.2 потерпит неудачу на среде 2.1

(Я мог бы попытаться изменить цель эмулятора, но любопытно узнать у других с фактическими телефонами)

Спасибо

Это было полезно?

Решение

Вот страница, которая может быть полезной для вас: http://developer.android.com/sdk/api_dift/8/changes.html.

Вы можете перекрестите все свои пакеты и методы, используемые в списке различий.

Как сказал Джухани, если ваше приложение использует любой из новых API, то это будет означать высокую возможность ваших возникновения проблем.

Другие советы

Вы можете просто нацелиться на ваше приложение до 2.1, если вам не нужен какой-либо из новых API, предоставленных с 2.2. Таким образом, вы можете быть уверены, что он будет работать на 2.1 и 2.2. Если вы, с другой стороны, нужны некоторые из новых API, он не будет работать правильно на 2.1.

Вы можете SE, что новое в 2.2 здесь:http://developer.android.com/sdk/android-2.2.html.

Для гарантированной совместимости вы должны просто установить свою целевую версию до 2.1 и перекомпилировать ее, чтобы увидеть, что не удается. Если вы используете API только 2.2, это покажет вам, что это такое. Затем, если вы действительно хотите его использовать, вы можете сбросить целевую версию до 2.2 и кодировать затруднение поведения для «Метода, не найденного» в 2.1.

Снаружи задокументированной API самая большая разница для большинства разработчиков приходит для тех, кто использует общий, но неподдерживаемый интерфейс. Если вы пытаетесь вызвать календарь, вы обнаружите, что он перестает работать, потому что старый намерение "com.android.calendar / com.android.calendar.laandivity" был заменен на "com.google.android.calendar / com .android.calendar.launchactivity ". (Это для наличия Android. Различные поставщики телефонов / аппаратных средств имеют другие альтернативные приложения / намерения, просто чтобы держать вас в ногу.)

Конечно, это только проблема, если вы используете недокументированные, неподдерживаемые интерфейсы, которые вы не должны делать. Тем не менее, это, вероятно, был именно один источник «разбитых Froyo».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top