2010-05-04 2 views
2

Я хочу, чтобы мое приложение Android имело максимальный охват и, следовательно, хотело поддерживать все версии V1.5 и далее. Я нахожу некоторые функции, отсутствующие в V1.5, которые доступны в версиях V2.0 или V2.1. Могу ли я скомпилировать V2.1, а затем установить minSDK для запуска приложения на 1.5?Могу ли я скомпилировать Android-приложение на 2.1 и иметь поддержку для всех версий 1.5?

Простая логика говорит, что особые функции не будут работать, но дайте мне знать ваши мысли.

Кроме того, какие-то другие способы обхода? Что бы вы обычно делали в такой ситуации?

+0

Также см. Http://stackoverflow.com/questions/3459032/how-best-to-cope-with-different-versions-of-android и http://android-developers.blogspot.com/2010/07 /how-to-have-your-cupcake-and-eat-it-too.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog%29 – OneWorld

ответ

0

Я думаю, что есть два способа справиться с этим. В обоих случаях вы можете разработать против 2.1 SDK и при запуске проверить, в какой версии Android вы работаете. Затем вы можете либо поменять целые классы на основе версии, либо просто заблокировать определенные вызовы методам, которых нет в 1.5.

1

Это определенно возможно; некоторые методы для обратной совместимости, такие как отражения и обертки классов описаны в этой статье:

Кроме того, я рекомендую бы компиляции против SDK 1.5 или 1.6, в противном случае вы можете случайно использовать классы/методы из более поздних SDK и выполнить ошибки времени выполнения на 1,5 устройствах из-за того, что эти API не доступны.

Смежные вопросы