Какое значение следует задать для: "Минимальный необходимый SDK", "Target SDK" и "Compile with"

Я знаю, что на этот вопрос много вопросов, и я также прочитал эту . Тем не менее, я все еще смущен точным выбором.

Если у меня есть мобильный телефон с Android 2.3.6

Я знаю, что Minimum Required SDK должна быть самой низкой версией Android, поддерживаемой моим приложением. Так, например, я выберу Android 2.2 или меньше этого значения, скажем Android 1.5


Сбивающие с толку части Target SDK и Compile with

Я установил их ниже: (в диспетчере SDK нет Android 2.3.6)

Android 4.2.2 (API 17)
Android 3.0 (API 11)
Android 2.3.3 (API 10)
Android 2.2 (API 8)

Значение Target SDK должно соответствовать максимальному значению Android 4.2.2, независимо от того, что использует мой мобильный телефон; который равен Android 2.3.6?

выбор Android 4.2.2 будет охватывать все телефоны под ним? это правильно?

Или

Должно ли оно быть установлено на точное/ближайшее значение в качестве моего телефона. Здесь доступен Android 2.3.3? Но не превышайте мой мобильный телефон Android 2.3.6


Значение Compile with должно быть установлено максимально Android 4.2.2 или что?

Ответ 1

Установлен ли максимальный размер целевого SDK на Android 4.2.2, независимо от того, что мой мобильный телефон использует; Android 2.3.6?

Это зависит от вас, но всегда рекомендуется использовать последний sdk в качестве цели.

Он просто говорит, что приложение будет работать между min и target sdk, но проверено только для целевого sdk, поэтому, если есть какие-либо совместимые настройки, система должна позаботиться об этом.

Выбор Android 4.2.2 будет охватывать все телефоны под ним? это правильно?

Ваше приложение всегда занимает от Min-SDK до Max-SDK. Если Min-SDK равен 1 и Max-SDk не установлен, ваше приложение поддерживает все API.

Должно ли оно быть установлено на точное/ближайшее значение в качестве моего телефона. Здесь доступен ли Android 2.3.3? Но не превышайте мой мобильный телефон Android 2.3.6

Должен быть последний SDK

Компиляция с должна быть установлена ​​на максимальный Android 4.2.2 или что?

Его просто ваш выбор, какой SDK для компиляции вашего приложения. Но лучше пойти с Target-SDK, который, в свою очередь, является последним.

Ответ 2

Я всегда устанавливал свой Compile with таким же, как Target SDK.

Цель должна состоять в том, что вы протестировали, и сконфигурировали ваше приложение для обработки. Поскольку Android развивается, поведение API может измениться, например Serial/Parallel/Serial по умолчанию AsyncTask (см. Одновременное выполнение нескольких AsyncTasks - невозможно? и http://commonsware.com/blog/2012/04/20/asynctask-threading-regression-confirmed.html), который зависел от вашего целевого API приложения и API-интерфейса устройства. Веселые времена для нас, открывая его тогда.

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