Задать вопрос
mitaichik
@mitaichik

Что такое compileSdkVersion и targetSdkVersion?

Что значат compileSdkVersion и targetSdkVersion? И как их правильно задавать?

У меня вот такие настройки:
minSdkVersion 9
compileSdkVersion 21
targetSdkVersion 20
buildToolsVersion '21.0.1'

Ну понятно, что compileSdkVersion это версия, на которой компилится проект. Но если у телефона версия ос меньше или больше - приложение будет работать? Тот же самый вопрос по targetSdkVersion.

Плюс Android Studio начал ругаться на

compile 'com.android.support:support-v4:20.+'
compile 'com.android.support:appcompat-v7:20.+'

Мол версия пакетов меньше чем compileSdkVersion. Раньше не ругалась.... Это нормально? Потому что когда я делаю версию пакетов 21 оно мне весь экшнбар ломает...
  • Вопрос задан
  • 8485 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • AndroidSprint
    Android + Аутстаффинг: опыт работы в IT-команде
    8 месяцев
    Далее
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Академия Эдюсон
    Android-разработчик + ИИ
    6 месяцев
    Далее
Решения вопроса 1
@MarkusD
все время мелю чепуху :)
Версии Android API обратно совместимы в определенных пределах. Это буквально означает что можно собрать приложение для Android 4.4.2 (targetSdkVersion == 19) используя Android API с версией 22 (compileSdkVersion == 22). При этом, на твои руки полностью ложится ответственность за предотвращение вызовов новых функций из Android 5.1.1 на более древних платформах. Иначе приложение упадет, автозатычек ни кто не предоставляет.
Поэтому, да, можно пользоваться свежими версиями Android API для сборки под старые версии ОС Android.

Относительно предупреждений о разных версиях, у тебя compileSdkVersion указана строго, а вот пакет "com.android.support" имеет гибкую зависимость на повышение версии. Скорее всего ты уже закачал свежие API для Android 5/6, из которых теперь и берется пакет "com.android.support" при сборке.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы