Ответ 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, называемый Поддержка разных версий платформы.