Ответ 1
В вопросе 1:
как сказал @StinePike, в зависимости от того, что вы используете как минимум, вы должны использовать v4 для min-sdk = 4-12, если ваш min sdk is >= 13 его нормально использовать v13.
Обновление. Как заявил Фрэнк в комментариях, с версией 26.0.0 и выше minsdk для всех библиотек поддержки является уровнем API 14. См. https://developer.android.com/topic/libraries/support-library/index.html#api-versions для более подробной информации.
На вопрос 2: лучшая цель зависит от того, что вы планируете делать, если вы хотите предоставить некоторые функции, которые были введены на более высоком уровне sdk, вам нужно использовать более высокий целевой-sdk, но убедитесь, что вы проверяете андроид версии, чтобы не использовать android apis, которые представлены в более высокой версии sdk на устройстве со старой версией Android.
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// safe to use api 11 / Android 3.0 stuf
} else {
// only use api level <= 10 stuff
}
для min-sdk то же самое. если вам требуется материал уровня api >= 10, вы должны использовать min-sdk 10
Мое мнение: не используйте уровень api < 10, его не стоит... с 10 вы достигаете 90% андроидных устройств
Мое мнение (по состоянию на апрель 2016 года): не используйте уровень api, 16, его не стоит... с 16 вы достигаете ~ 95% устройств Android.
Для проверки распределения версии версии ОС Android: https://developer.android.com/about/dashboards/index.html