Как решить, какой будет целевая версия Android?

#android

#Android

Вопрос:

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

Итак, как решить, какой будет целевая версия?

Комментарии:

1. На самом деле есть два вопроса. Во-первых, как мне выбрать. 2-я, какая версия оптимальна. Второй вопрос задавался ранее несколько раз на SA, но, конечно, ответ отличается в зависимости от того, когда на него был дан ответ, и какое приложение вы делаете, и какая целевая аудитория.

2. Если вы хотите использовать функциональность API более высокого уровня на устройстве более низкого уровня, я предлагаю использовать пакет совместимости с Android , и есть потрясающая бесплатная библиотека ActionBarSherlock . С помощью этих библиотек вы можете легко поддерживать, возможно, все версии Android.

Ответ №1:

Комментарии:

1. Хорошо, но когда я определяю проект в eclipse — какую цель sdk для сборки мне нужно выбрать?

2. developer.android.com/guide/appendix/api-levels.html Посмотрите на массив, я бы выбрал версию Android 2.2, что соответствует уровню API 8. На данный момент я думаю, что это наиболее часто используемая версия Android. И, кстати, вы можете изменить цель сборки sdk в любое время, когда пожелаете, просто изменив в ней манифест Android. С уважением,

Ответ №2:

Установите android:targetSdkVersion любую последнюю версию Android SDK.
Цитата Бруно Оливейры из Google IO:

targetSdkVersion не влияет на минимальный уровень SDK, необходимый для запуска вашего приложения. Это всегда должна быть последняя версия, о которой вы знаете.

Единственная причина, по которой вам, возможно, придется использовать более низкую версию, — это обнаружение несовместимостей, но это не очень веская причина, потому что Lint делает это лучше.


НО установите android:minSdkVersion значение как можно ниже, на котором будет работать ваше приложение. Это важно.

Например, мое приложение использует очень новые функции, но я установил android:minSdkVersion значение 3 (что означает Android 1.5). Мой код обнаруживает устройства Android 1.5 и использует на них менее блестящие элементы управления, но все равно работает корректно.

Пример кода обнаружения:

 if (android.os.Build.VERSION.SDK_INT > 4) {
        ActivityTransitionAnimation.slide(this, ActivityTransitionAnimation.UP);
    }
 

Итак, вот мое предложение:

  • Установить android:minSdkVersion значение 3
  • Каждый раз, когда вы обнаруживаете, что API отсутствует на этом уровне, подумайте, является ли потеря потенциальных пользователей, связанная с увеличением этого числа, хуже, чем тратить время на реализацию обходного пути.

Ответ №3:

Я бы сказал, просто начните с минимально возможной цели, а затем, когда вы столкнетесь с вещами, которые вы можете сделать только с более высокой целью, вам придется изменить цель на более высокую. Использование API, которые работают только, например, на 2.3, будет показывать ошибки, если ваша цель ниже (потому что API там не будет существовать).

Также вы должны учитывать текущее состояние «фрагментации», чтобы определить, какие цели на самом деле используются там. Глядя на этот график (от 5 октября), может быть, стоит просто начать с 2.1 и se, если он достаточно высок для всех вещей, которые вы хотите сделать:

http://cdn.devilsworkshop.org/files/2011/09/android-OS-fragmentation-report.jpg

Комментарии:

1. Итак, вы предлагаете выбрать api 1.6 … как можно ниже?

2. Хорошо 1.6, если вы хотите поддерживать несколько устройств, которые все еще используют его. 2.1 должно быть достаточно (глядя на диаграмму).