Подтвердить что ты не робот

Связь между 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.

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Ответ 2

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

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

Ответ 3

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

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