Android;Есть ли какие-либо изменения между 2.1 и 2.2, о которых разработчики должны знать с обратной совместимостью? - PullRequest
0 голосов
/ 08 октября 2010

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

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

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

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

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

Спасибо

Ответы [ 3 ]

2 голосов
/ 08 октября 2010

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

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

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

1 голос
/ 08 октября 2010

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

Здесь вы можете увидеть, что нового в 2.2:

0 голосов
/ 08 октября 2010

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

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

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

...