SDK Platform: co to je, verze a Android SDK Manager

Autor: IT Sectr Publikováno: 2026-02-09 Doba čtení: 11 min

SDK Platform Android — je sada knihoven, systémových obrazů a nástrojů pro konkrétní verzi operačního systému. Každá platforma je vázána na svůj API Level a obsahuje android.jar s třídami Android API, runtime komponenty a emulátor. Podle Google Developer Documentation, 2026 používají vývojáři SDK Platform pro kompilaci kódu proti cílové verzi OS. Bez nainstalované platformy nelze sestavit APK nebo spustit aplikaci na emulátoru. SDK Manager spravuje stahování, aktualizaci a odstraňování těchto komponent.

Hlavní body

  • SDK Platform — sada knihoven a nástrojů pro jednu verzi Androidu, odpovídající určitému API Level.
  • API Level — číselný identifikátor verze Android SDK, který určuje dostupné třídy a metody.
  • SDK Manager — nástroj pro instalaci, aktualizaci a odstraňování SDK Platform, Tools a systémových obrazů.
  • compileSdk — verze SDK Platform používaná pro kompilaci aplikace, měla by být nejnovější stabilní.
  • targetSdk — API Level, na kterém byla aplikace testována a pro který je optimalizováno runtime chování.

Co je SDK Platform

SDK Platform — je základní komponenta Android SDK, představující kompletní sadu knihoven a nástrojů pro vývoj aplikací pod určitou verzí Androidu. Každá platforma je identifikována API Level — celým číslem, které roste s vydáváním nových verzí OS. Například Android 13 odpovídá API Level 33, Android 14 — API Level 34, Android 15 — API Level 35.

Na rozdíl od Android Studio (IDE) SDK Platform neobsahuje editor kódu ani debugger. Je to systémová vrstva, která se připojuje k překladači a nástroji pro sestavení. Když vývojář napíše import android.app.Activity, překladač vezme tuto třídu z android.jar konkrétní SDK Platform. Bez nainstalované platformy s požadovaným API Level se kód nezkompiluje.

Google vydává novou SDK Platform pro každou stabilní verzi Androidu. Historie zahrnuje více než 35 API Level — od Android 1.0 (API 1) po Android 15 (API 35). Každá platforma je zpětně kompatibilní: kód napsaný pro API Level 21 bude fungovat na API Level 35, ale ne naopak.

Proč je potřeba samostatná SDK Platform pro každou verzi

Android se rychle vyvíjí: každá verze přidává nová API, mění chování stávajících a zavádí omezení. Například Android 10 (API 29) zavedl Scoped Storage, Android 12 (API 31) — SplashScreen API, Android 14 (API 34) — povinné flagy BroadcastReceiver. Vývojář musí sestavit aplikaci proti aktuální platformě, aby tyto možnosti využil.

Zároveň může aplikace běžet na starých verzích OS. K tomu se v Gradle uvádí minSdk — minimální API Level, na kterém aplikace běží. Kód používá kontroly verzí a podmíněná volání API. Tento přístup zajišťuje kompatibilitu bez ztráty nových funkcí.

Verze AndroidAPI LevelKódový názevRok vydání
Android 1231Snow Cone2021
Android 1333Tiramisu2022
Android 1434Upside Down Cake2023
Android 1535Vanilla Ice Cream2024

Složení SDK Platform: hlavní komponenty

SDK Platform — není jeden soubor, ale sada komponent, které společně zajišťují kompilaci, sestavení a testování aplikace. Hlavním prvkem je android.jar — archiv s třídami Android API obsaženými v této verzi. Tento soubor je připojen k překladači Kotlin nebo Java a určuje, které třídy, metody a anotace jsou pro vývojáře dostupné.

Systémové obrazy a emulátor

Každá SDK Platform obsahuje System Image — obraz operačního systému pro emulátor Android Virtual Device. Bez odpovídajícího obrazu emulátor nebude moci spustit virtuální zařízení s požadovaným API Level. System Images jsou různých typů: Google APIs (se službami Google), Google Play (s Play Store) a AOSP (čistý Android bez služeb Google).

Nástroje pro sestavení a ladění

SDK Platform obsahuje verzi Build-Tools a Platform-Tools optimalizované pro daný API Level. Build-Tools zahrnují aapt2 (Android Asset Packaging Tool), dx/d8 (překladač Dalvik/ART) a ApkSigner. Platform-Tools poskytují ADB (Android Debug Bridge), fastboot a SQLite. Tyto nástroje se aktualizují nezávisle na SDK Platform prostřednictvím SDK Manager.

Zdroje platformy

Každá platforma obsahuje standardní Android zdroje — systémová témata, styly, animace, barvy a velikosti. Tyto zdroje se používají při kompilaci: pokud vývojář odkazuje na @android:style/Theme.Material.Light, nástroj pro sestavení vezme definici ze zdrojů SDK Platform. To zaručuje jednotný vzhled systémových komponent na všech zařízeních.

KomponentaPopisVelikost (přibližně)
android.jarKnihovny Android API pro kompilaci50–120 MB
System ImageObraz OS pro emulátor600–1500 MB
Build-ToolsNástroje pro sestavení APK a AAB200–400 MB
Platform ResourcesSystémové zdroje (témata, styly)30–80 MB
SkinsProfily zařízení pro emulátor10–50 MB

API Level a verze SDK Platform

API Level — je celočíselný identifikátor verze Android SDK. Každému vydání Androidu odpovídá jeden API Level, který monotónně roste. Vývojář uvádí API Level ve třech klíčových parametrech build.gradle: compileSdk, minSdk a targetSdk. Volba těchto parametrů určuje, která API jsou dostupná a jak systém aplikaci zpracovává.

Google doporučuje udržovat minSdk na úrovni ne nižší než aktuální práh distribuce — podle Android Studio Distribution Dashboard (2026) přibližně 95 % zařízení běží na Android 8.0 (API 26) a vyšším. compileSdk by měl být poslední stabilní — to poskytuje přístup k novým API a umožňuje lint kontrolám odhalovat zastaralé metody.

Vývoj API Level: klíčové změny

S každým novým API Level Google zavádí významné změny. Android 6.0 (API 23) přidal runtime oprávnění — aplikace žádá o oprávnění za běhu, nikoli při instalaci. Android 8.0 (API 26) zavedl automatické vyplňování formulářů a kanály oznámení. Android 12 (API 31) radikálně změnil přístup k intentům — objevil se SplashScreen API a export komponent prostřednictvím atributu exported. Android 14 (API 34) učinil povinným uvádění flagů pro BroadcastReceiver a zavedl přísná omezení pro foreground services.

Porozumění historii API Level pomáhá vývojáři zvolit správnou strategii kompatibility. Pokud aplikace používá compileSdk 35, ale minSdk 26, kód může volat metody API 35 pouze po kontrole verze prostřednictvím Build.VERSION.SDK_INT. Tento přístup se nazývá version-gated development a je průmyslovým standardem.

AndroidAPIRokKlíčová inovace
6.0 Marshmallow232015Runtime oprávnění
8.0 Oreo262017Kanály oznámení, Autofill
10292019Scoped Storage, Dark Theme
12312021SplashScreen, atribut exported
14342023Flagy Broadcast, Foreground Services

SDK Manager: instalace a konfigurace

SDK Manager — je nástroj pro správu komponent Android SDK: instalaci nových SDK Platform, aktualizaci stávajících a odstraňování zastaralých. SDK Manager je k dispozici jako grafické rozhraní v Android Studio i jako příkazový řádek prostřednictvím sdkmanager. Prostřednictvím příkazového řádku je SDK Manager vhodný pro použití v CI/CD pipeline, kde není grafické rozhraní.

SDK Manager instaluje platformy do adresáře Android SDK, který se ve výchozím nastavení nachází v $HOME/Android/Sdk na Linuxu a macOS nebo %LOCALAPPDATA%\Android\Sdk na Windows. Uvnitř adresáře platforms jsou složky ve tvaru android-{API Level}, z nichž každá obsahuje kompletní SDK Platform.

Instalace SDK Platform přes sdkmanager

Příkaz sdkmanager přijímá identifikátor balíčku ve formátu "platforms;android-{API}". Například pro instalaci SDK Platform 35 vypadá příkaz takto:

bash
# Nainstalovat SDK Platform pro API Level 35
sdkmanager "platforms;android-35"

# Nainstalovat několik platforem jedním příkazem
sdkmanager "platforms;android-34" "platforms;android-33" "platforms;android-31"

# Seznam nainstalovaných platforem
sdkmanager --list_installed | grep platforms

# Odstranit zastaralou platformu
sdkmanager --uninstall "platforms;android-28"

Automatická instalace přes Gradle

Moderní Android projekty používají Gradle Plugin, který může automaticky nainstalovat SDK Platform při prvním sestavení. K tomu je třeba uvést compileSdk v build.gradle a přidat adresář SDK do lokální konfigurace. Android Studio také nabízí instalaci chybějící platformy při otevření projektu — stačí kliknout na tlačítko "Install SDK Platform" v okně synchronizace Gradle.

Je důležité pravidelně aktualizovat SDK Platform přes SDK Manager — spolu s platformou se aktualizují Build-Tools a Platform-Tools, což ovlivňuje výkon sestavení a stabilitu ladění. Google doporučuje kontrolovat aktualizace SDK každé 2-3 týdny, zejména před publikováním nové verze aplikace v Google Play.

Konfigurace systémového obrazu pro emulátor

Pro spuštění emulátoru s konkrétním API Level je třeba nainstalovat System Image stejné verze. SDK Manager umožňuje stahovat obrazy různých architektur (x86_64, arm64-v8a) a typů (Google APIs, Google Play, AOSP). Po stažení obrazu AVD Manager vytvoří virtuální zařízení na jeho základě.

bash
# Nainstalovat System Image s Google APIs pro API 35
sdkmanager "system-images;android-35;google_apis;x86_64"

# Vytvořit AVD přes příkazový řádek
avdmanager create avd -n pixel8 -k "system-images;android-35;google_apis;x86_64"

# Seznam vytvořených AVD
avdmanager list avd

compileSdk, targetSdk a minSdk v Gradle

Tři parametry v build.gradle určují práci aplikace s SDK Platform. compileSdk — API Level používaný pro kompilaci. Tento parametr určuje, které třídy Android API jsou v kódu dostupné. compileSdk by měl být ze všech tří nejnovější a neovlivňuje chování za běhu — aplikace se zkompiluje, ale používá pouze API, která jsou na zařízení.

minSdk — minimální API Level, na kterém lze aplikaci nainstalovat. Google Play nedovolí instalaci aplikace na zařízení s verzí nižší než minSdk. Tento parametr určuje práh kompatibility a ovlivňuje pokrytí publika. Čím nižší je minSdk, tím více zařízení je podporováno, ale tím méně nových API lze použít bez kontrol.

targetSdk — API Level, na kterém byla aplikace testována. Systém Android používá targetSdk k aplikování změn chování: pokud aplikace není aktualizována na nový API Level, systém zapne režim kompatibility pro starší verze. Google Play vyžaduje targetSdk ne nižší než určitou úroveň — pro rok 2026 je to API 34 (Android 14).

Příklad konfigurace Gradle

groovy
android {
    compileSdk 35

    defaultConfig {
        applicationId "com.example.app"
        minSdk 26
        targetSdk 35
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

// Verze Android SDK musí být nainstalována přes SDK Manager
// sdkmanager "platforms;android-35"

Jak vybrat compileSdk, minSdk a targetSdk

Strategie výběru závisí na cílech projektu. Pro novou aplikaci: compileSdk — poslední stabilní (35 na začátku 2026), minSdk — API 26 (Android 8.0, pokrývá 95 % zařízení), targetSdk — poslední stabilní. Pro aktualizaci stávající aplikace: zvyšte compileSdk okamžitě, targetSdk — po otestování všech změn chování, minSdk — pouze pokud je nutné opustit zastaralá zařízení.

Google vyžaduje, aby byl targetSdk aktualizován do jednoho roku po vydání nové verze Androidu. Aplikace, které tento požadavek nesplňují, nemohou publikovat aktualizace v Google Play. Pro sledování termínů použijte oficiální kalendář aktualizací Android OS.

ParametrÚčelDoporučení
compileSdkVerze API pro kompilaciPoslední stabilní
minSdkMinimální podporovaná verzeAPI 26 pro pokrytí 95 %
targetSdkVerze pro změny chováníPoslední stabilní + testování

Příklady práce s SDK Platform v kódu

Při vývoji pro různé verze Androidu je třeba brát v úvahu dostupnost API. Pokud aplikace používá compileSdk 35, ale běží na zařízení s API 31, volání metod přidaných v API 34 povede k NoSuchMethodError nebo AbstractMethodError. Pro bezpečné volání nových API se používají kontroly verze prostřednictvím Build.VERSION.SDK_INT.

Kontrola API Level za běhu

kotlin
class FeatureChecker {
    fun registerNotificationChannel(context: Context) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            // Notification channels jsou dostupné od API 26
            val channel = NotificationChannel(
                "updates",
                "Aktualizace",
                NotificationManager.IMPORTANCE_DEFAULT
            )
            val manager = context.getSystemService(NotificationManager::class.java)
            manager.createNotificationChannel(channel)
        }
    }
}

Použití nových API s @RequiresApi

Pro metody, které jsou volány pouze na určitých verzích, použijte anotaci @RequiresApi. Ta informuje lint kontroly, že metoda je bezpečná, a vypíná varování. V kombinaci s kontrolou SDK_INT anotace činí kód čistším a srozumitelnějším pro recenzenty.

kotlin
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
fun scheduleExactAlarm(manager: AlarmManager, time: Long) {
    // API 34: scheduleExact s flagem SCHEDULE_EXACT_ALARM
    if (manager.canScheduleExactAlarms()) {
        manager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent)
    } else {
        // Žádáme o oprávnění SCHEDULE_EXACT_ALARM
        val intent = Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM)
        context.startActivity(intent)
    }
}

fun safeScheduleAlarm(context: Context, triggerTime: Long) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
        scheduleExactAlarm(getAlarmManager(context), triggerTime)
    } else {
        // Starý setExact bez kontroly oprávnění
        getAlarmManager(context).setExact(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent)
    }
}

Určení nainstalované SDK Platform

Někdy je třeba zjistit, která verze SDK Platform je nainstalována na zařízení vývojáře nebo v CI. To lze provést přes ADB nebo programově v kódu aplikace. Znalost API Level zařízení pomáhá při testování chování specifického pro verzi.

kotlin
fun logDeviceInfo() {
    with (Build.VERSION) {
        Log.d("SDK_Demo", "SDK_INT: $SDK_INT")
        Log.d("SDK_Demo", "RELEASE: $RELEASE")
        Log.d("SDK_Demo", "CODENAME: $CODENAME")
        Log.d("SDK_Demo", "PREVIEW_SDK_INT: $PREVIEW_SDK_INT")
    }
    // Výstup: SDK_INT: 35, RELEASE: 15, CODENAME: REL
}

Často kladené otázky

Čím se liší SDK Platform od Android Studio?

Android Studio je IDE, zatímco SDK Platform je sada knihoven a nástrojů pro kompilaci. Studio používá SDK Platform pro sestavování aplikací, ale platformy se stahují samostatně přes SDK Manager a lze je aktualizovat nezávisle na verzi Studio.

Kolik SDK Platform je třeba nainstalovat?

Obvykle stačí tři verze: nejnovější (compileSdk), minimální (minSdk) a jedna mezilehlá pro testování. SDK Manager umožňuje snadno přidávat a odebírat platformy podle potřeby. Vývojáři v průměru uchovávají 3-5 platforem na svém pracovním počítači.

Lze použít starou SDK Platform pro nová API?

Ne. Každá SDK Platform obsahuje pouze API své verze. Pro volání metod z API 35 je potřeba platforma android-35. Uvedení nového compileSdk s nainstalovanou starou platformou způsobí chybu kompilace.

Co jsou aktualizace SDK Platform?

Google vydává aktualizace SDK Platform pro každou verzi: opravy chyb, nová API, vylepšení výkonu. SDK Manager upozorňuje na dostupné aktualizace. Doporučuje se instalovat nejnovější revizi platformy pro stabilní sestavení.

Kde jsou SDK Platform uloženy na disku?

Ve výchozím nastavení každá SDK Platform zabírá 200-800 MB v adresáři Android/Sdk/platforms/android-{API}. Uvnitř složky se nachází android.jar, složka data se zdroji a konfigurační soubory pro emulátor a sestavení.

Shrnutí

  • SDK Platform — sada knihoven a nástrojů pro konkrétní verzi Androidu, odpovídající určitému API Level.
  • API Level — číselný identifikátor určující dostupné třídy, metody a chování systému.
  • SDK Manager — nástroj pro instalaci a aktualizaci SDK Platform, System Images a Build-Tools přes GUI nebo příkazový řádek.
  • Parametry compileSdk, minSdk a targetSdk v build.gradle spravují verzi platformy pro kompilaci a kompatibilitu.
  • Pro volání nových API na starých zařízeních používejte kontroly Build.VERSION.SDK_INT a anotaci @RequiresApi.
  • Google vyžaduje aktualizaci targetSdk do jednoho roku po vydání nové verze Androidu pro publikaci v Google Play.
  • Pravidelná aktualizace SDK Platform přes SDK Manager zajišťuje přístup k novým API, opravám a vylepšením výkonu.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také