Для чего нужно указывать compileSdk в build.gradle модуля

«Для чего нужно указывать compileSdk в build.gradle модуля» — вопрос из категории Gradle и сборка, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

compileSdk определяет версию Android SDK, которую Gradle использует для компиляции кода. Это влияет на доступные API и поведение lint-проверок.

Важно:

  • Не влияет на runtime поведение приложения (для этого есть minSdk/targetSdk)
  • Должна быть ≥ targetSdkVersion
  • Лучше использовать последнюю стабильную версию

Пример:

android {
    compileSdk 34
    // ...
}

Нюансы:

  • Если использовать устаревший compileSdk, могут быть недоступны новые API
  • Слишком новый compileSdk без обновления Android Studio может вызывать ошибки
  • Изменение compileSdk может выявить новые lint-предупреждения