#android
#Android
Вопрос:
Я новичок в разработке Android. Мне нужно написать какое-нибудь простое приложение — и мне нужно решить, какой будет целевая версия. Я не знаю, как это решить, потому что я хочу поддерживать самую новую версию со всеми новыми возможностями, но я также хочу поддерживать максимальное количество устройств (есть несколько устройств со старыми версиями)
Итак, как решить, какой будет целевая версия?
Комментарии:
1. На самом деле есть два вопроса. Во-первых, как мне выбрать. 2-я, какая версия оптимальна. Второй вопрос задавался ранее несколько раз на SA, но, конечно, ответ отличается в зависимости от того, когда на него был дан ответ, и какое приложение вы делаете, и какая целевая аудитория.
2. Если вы хотите использовать функциональность API более высокого уровня на устройстве более низкого уровня, я предлагаю использовать пакет совместимости с Android , и есть потрясающая бесплатная библиотека ActionBarSherlock . С помощью этих библиотек вы можете легко поддерживать, возможно, все версии Android.
Ответ №1:
В манифесте Android.
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
Комментарии:
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 должно быть достаточно (глядя на диаграмму).