Связь между Android: minSdkVersion, android: targetSdkVersion и "target"

Итак, я немного смущен, мне показалось, что я понял значение android:minSdkVersion , android:targetSdkVersion и target в свойствах проекта.

Прямо сейчас я получил следующие настройки:

  android:minSdkVersion="7" android:targetSdkVersion="13" 

А также:

  target=android-15 

В project->properties->Android->Project Build Target .

Когда я пытаюсь запустить это приложение на устройстве с установленным Android 2.3.3, я вижу красный крест против имени устройства, но приложение работает нормально.

Что мне не хватает? Если я строю против 15, как он работает на Android-7? Эта путаница была заявлена ​​после того, как я включил AdMob в свое приложение, в котором говорится, что для него требуется минимальный уровень SDK 13.

Solutions Collecting From Web of "Связь между Android: minSdkVersion, android: targetSdkVersion и "target""

Чтобы описать один за раз:

  • Android: minSdkVersion помогает приложениям фильтров Google Play для пользователя на основе их устройства. Например, с minSdkVersion = "7", кто-то просматривает устройство, которое поддерживает только 6, не увидит ваше приложение в Google Play и, следовательно, не загрузит его, не найдет, что он не работает, и оставьте плохой отзыв: )

  • Android: targetSdkVersion – это сигнал к устройству о том, к какой версии API, к которой ваше приложение было проверено. Новые поведения часто доступны по умолчанию с новыми версиями платформы, для приложений, которые нацелены, по крайней мере, на ту версию платформы. Например, установив для вашего целевогоSdkVersion значение 11 или выше, вы получите меню переполнения в ActionBar (для сотовых и up-устройств) вместо «устаревшей кнопки меню стыда».

  • Target.properties – это сигнал вашей локальной сборной системы, относительно какой версии платформы вы должны компилировать свой код. Как правило, лучше всего установить это на все, что вы установили для targetSdkVersion.

Что мне не хватает? Если я строю против 15, как он работает на Android-7?

По этой причине Android поддерживает обратную совместимость. Когда вы используете API, которые были добавлены в версию 15 платформы, очевидно, они не будут присутствовать на устройстве с более старым устройством.

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

Android: targetSdkVersion = "13" Указывает, что это приложение было создано путем сохранения sdk 13 в качестве цели, чтобы использовать его функцию для полного потенциала

Android: minSdkVersion = "7" означает, что он работает на sdk 7 и выше, но некоторые из его функций могут быть удалены, если некоторые функции недоступны в младшем sdk. Т.е. (меньше, чем sdk 13)

android:minSdkVersion="7" означает, что вы не можете запустить это приложение на устройствах под 2.1(API-7) . android:targetSdkVersion="13" приложение создано для этого API. Цель сборки будет установлена ​​в 13, а методы и материалы, доступные до 13, будут работать.

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html