SDK Platform: mi ez, verziók és Android SDK Manager

Szerző: IT Sectr Megjelenés: 2026-02-09 Olvasási idő: 11 perc

SDK Platform Android — könyvtárak, rendszerképek és eszközök gyűjteménye az operációs rendszer egy adott verziójához. Minden platform a saját API Leveljéhez van kötve, és tartalmazza az android.jar-t az Android API osztályaival, futásidejű összetevőket és egy emulátort. A Google Developer Documentation, 2026 szerint a fejlesztők az SDK Platformot használják a kód cél-OS verzióra történő fordításához. Telepített platform nélkül lehetetlen APK-t építeni vagy az alkalmazást az emulátoron futtatni. SDK Manager kezeli ezen összetevők letöltését, frissítését és eltávolítását.

Főbb pontok

  • SDK Platform — könyvtárak és eszközök gyűjteménye egy Android-verzióhoz, egy adott API Levelnek megfelelően.
  • API Level — az Android SDK verziójának numerikus azonosítója, amely meghatározza az elérhető osztályokat és metódusokat.
  • SDK Manager — eszköz az SDK Platform, Tools és rendszerképek telepítéséhez, frissítéséhez és eltávolításához.
  • compileSdk — az alkalmazás fordításához használt SDK Platform verzió, a legújabb stabilnak kell lennie.
  • targetSdk — API Level, amelyen az alkalmazást tesztelték, és amelyre a futásidejű viselkedés optimalizálva van.

Mi az SDK Platform

SDK Platform — az Android SDK alapvető összetevője, amely a könyvtárak és eszközök teljes készletét képviseli az alkalmazások fejlesztéséhez egy adott Android-verzió alatt. Minden platformot API Level azonosít — egy egész szám, amely az operációs rendszer új verzióinak megjelenésével nő. Például az Android 13 az API Level 33-nak, az Android 14 az API Level 34-nek, az Android 15 az API Level 35-nek felel meg.

Az Android Studio-val (IDE) ellentétben az SDK Platform nem tartalmaz kódszerkesztőt vagy debuggert. Ez egy rendszerréteg, amely a fordítóhoz és a build-eszközhöz csatlakozik. Amikor a fejlesztő import android.app.Activityt ír, a fordító ezt az osztályt az adott SDK Platform android.jar-jából veszi. A szükséges API Levelű telepített platform nélkül a kód nem fordul le.

A Google minden stabil Android-verzióhoz kiad egy új SDK Platformot. A történet több mint 35 API Levelt ölel fel — az Android 1.0-tól (API 1) az Android 15-ig (API 35). Minden platform visszafelé kompatibilis: az API Level 21-re írt kód működni fog API Level 35-ön, de fordítva nem.

Miért van szükség külön SDK Platformra minden verzióhoz

Az Android gyorsan fejlődik: minden verzió új API-kat ad hozzá, megváltoztatja a meglévők viselkedését és korlátozásokat vezet be. Például Android 10 (API 29) bevezette a Scoped Storage-t, az Android 12 (API 31) — a SplashScreen API-t, az Android 14 (API 34) — a kötelező BroadcastReceiver-flagokat. A fejlesztőnek az aktuális platformra kell építenie az alkalmazást, hogy ezeket a képességeket használhassa.

Ugyanakkor az alkalmazás futhat régi operációsrendszer-verziókon. Ehhez a Gradle-ben meg kell adni a minSdk-t — azt a minimális API Levelt, amelyen az alkalmazás elindul. A kód verzióellenőrzéseket és feltételes API-hívásokat használ. Ez a megközelítés biztosítja a kompatibilitást az új funkciók elvesztése nélkül.

Android-verzióAPI LevelKódnévKiadás éve
Android 1231Snow Cone2021
Android 1333Tiramisu2022
Android 1434Upside Down Cake2023
Android 1535Vanilla Ice Cream2024

Az SDK Platform összetétele: fő összetevők

Az SDK Platform — nem egyetlen fájl, hanem összetevők együttese, amelyek együttesen biztosítják az alkalmazás fordítását, építését és tesztelését. A fő elem az android.jar — egy archívum az ebben a verzióban található Android API osztályokkal. Ez a fájl csatlakozik a Kotlin vagy Java fordítóhoz, és meghatározza, hogy milyen osztályok, metódusok és annotációk állnak rendelkezésre a fejlesztő számára.

Rendszerképek és emulátor

Minden SDK Platform tartalmaz egy System Image-t — az operációs rendszer képét az Android Virtual Device emulátor számára. A megfelelő kép nélkül az emulátor nem tudja elindítani a virtuális eszközt a szükséges API Levellel. A System Images különböző típusúak: Google APIs (Google-szolgáltatásokkal), Google Play (Play Store-ral) és AOSP (tiszta Android Google-szolgáltatások nélkül).

Build és debug eszközök

Az SDK Platform tartalmazza az adott API Levelre optimalizált Build-Tools és Platform-Tools verziót. A Build-Tools magában foglalja az aapt2 (Android Asset Packaging Tool), dx/d8 (Dalvik/ART fordító) és ApkSigner eszközöket. A Platform-Tools ADB-t (Android Debug Bridge), fastboot-ot és SQLite-ot biztosít. Ezek az eszközök az SDK Platformtól függetlenül frissülnek az SDK Manageren keresztül.

Platform erőforrások

Minden platform tartalmazza a szabványos Android erőforrásokat — rendszertémákat, stílusokat, animációkat, színeket és méreteket. Ezek az erőforrások a fordítás során használatosak: ha a fejlesztő a @android:style/Theme.Material.Light-ra hivatkozik, a builder a definíciót az SDK Platform erőforrásaiból veszi. Ez garantálja a rendszerösszetevők egységes megjelenését minden eszközön.

ÖsszetevőLeírásMéret (körülbelül)
android.jarAndroid API könyvtárak fordításhoz50–120 MB
System ImageOperációs rendszer képe az emulátorhoz600–1500 MB
Build-ToolsAPK és AAB build eszközök200–400 MB
Platform ResourcesRendszer erőforrások (témák, stílusok)30–80 MB
SkinsEszközprofilok az emulátorhoz10–50 MB

API Level és az SDK Platform verziói

API Level — az Android SDK verziójának egész számú azonosítója. Minden Android-kiadáshoz egy API Level tartozik, amely monoton növekszik. A fejlesztő az API Levelet három kulcsfontosságú build.gradle paraméterben adja meg: compileSdk, minSdk és targetSdk. E paraméterek megválasztása határozza meg, hogy mely API-k érhetők el, és hogyan kezeli a rendszer az alkalmazást.

A Google azt javasolja, hogy a minSdk-t ne tartsa alacsonyabban a jelenlegi terjesztési küszöbnél — a Android Studio Distribution Dashboard (2026) szerint az eszközök körülbelül 95%-a Android 8.0 (API 26) vagy újabb rendszeren fut. A compileSdk-nak a legújabb stabilnak kell lennie — ez hozzáférést biztosít az új API-khoz, és lehetővé teszi a lint-ellenőrzések számára az elavult metódusok észlelését.

Az API Level evolúciója: kulcsfontosságú változások

Minden új API Level-lel a Google jelentős változtatásokat vezet be. Az Android 6.0 (API 23) hozzáadta a futásidejű engedélyeket — az alkalmazás futás közben kér engedélyeket, nem telepítéskor. Az Android 8.0 (API 26) bevezette az űrlapok automatikus kitöltését és az értesítési csatornákat. Android 12 (API 31) gyökeresen megváltoztatta az intent-ek megközelítését — megjelent a SplashScreen API és a komponensek exportálása az exported attribútumon keresztül. Az Android 14 (API 34) kötelezővé tette a BroadcastReceiver flag-ek megadását és szigorú korlátozásokat vezetett be a foreground services-re.

Az API Level történetének megértése segít a fejlesztőnek kiválasztani a megfelelő kompatibilitási stratégiát. Ha az alkalmazás compileSdk 35-öt használ, de minSdk 26, a kód csak a Build.VERSION.SDK_INT-on keresztüli verzióellenőrzés után hívhatja meg az API 35 metódusait. Ezt a megközelítést version-gated development-nek hívják, és ez az ipari szabvány.

AndroidAPIÉvKulcsfontosságú újítás
6.0 Marshmallow232015Futásidejű engedélyek
8.0 Oreo262017Értesítési csatornák, Autofill
10292019Scoped Storage, Dark Theme
12312021SplashScreen, exported attribútum
14342023Broadcast flag-ek, Foreground Services

SDK Manager: telepítés és konfiguráció

SDK Manager — eszköz az Android SDK összetevőinek kezelésére: új SDK Platformok telepítése, meglévők frissítése és elavultak eltávolítása. Az SDK Manager elérhető grafikus felületként az Android Studio-ban, valamint parancssorként az sdkmanager-en keresztül. Parancssoron keresztül az SDK Manager kényelmesen használható CI/CD pipeline-okban, ahol nincs grafikus felület.

Az SDK Manager a platformokat az Android SDK könyvtárba telepíti, amely alapértelmezés szerint Linuxon és macOS-en $HOME/Android/Sdk, Windows-on pedig %LOCALAPPDATA%\Android\Sdk helyen található. A platforms könyvtáron belül android-{API Level} nevű mappák találhatók, amelyek mindegyike teljes SDK Platformot tartalmaz.

SDK Platform telepítése az sdkmanager-en keresztül

Az sdkmanager parancs a csomag azonosítóját "platforms;android-{API}" formátumban fogadja. Például az SDK Platform 35 telepítéséhez a parancs így néz ki:

bash
# SDK Platform telepítése API Level 35-höz
sdkmanager "platforms;android-35"

# Több platform telepítése egy paranccsal
sdkmanager "platforms;android-34" "platforms;android-33" "platforms;android-31"

# Telepített platformok listája
sdkmanager --list_installed | grep platforms

# Elavult platform eltávolítása
sdkmanager --uninstall "platforms;android-28"

Automatikus telepítés Gradle-en keresztül

A modern Android projektek Gradle Plugin-t használnak, amely automatikusan telepítheti az SDK Platformot az első build során. Ehhez meg kell adni a compileSdk-t a build.gradle-ben, és hozzá kell adni az SDK könyvtárat a helyi konfigurációhoz. Az Android Studio is felajánlja a hiányzó platform telepítését a projekt megnyitásakor — elég megnyomni az "Install SDK Platform" gombot a Gradle szinkronizációs ablakban.

Fontos az SDK Platform rendszeres frissítése az SDK Manageren keresztül — a platformmal együtt a Build-Tools és a Platform-Tools is frissül, ami befolyásolja a build teljesítményét és a debug stabilitását. A Google azt ajánlja, hogy 2-3 hetente ellenőrizze az SDK frissítéseit, különösen az alkalmazás új verziójának Google Play-ben történő közzététele előtt.

Rendszerkép konfigurálása az emulátorhoz

Az emulátor adott API Level-lel történő indításához telepíteni kell ugyanazon verzió System Image-jét. Az SDK Manager lehetővé teszi különböző architektúrájú (x86_64, arm64-v8a) és típusú (Google APIs, Google Play, AOSP) képek letöltését. A kép letöltése után az AVD Manager virtuális eszközt hoz létre annak alapján.

bash
# System Image telepítése Google API-kkal API 35-höz
sdkmanager "system-images;android-35;google_apis;x86_64"

# AVD létrehozása parancssoron keresztül
avdmanager create avd -n pixel8 -k "system-images;android-35;google_apis;x86_64"

# Létrehozott AVD-k listája
avdmanager list avd

compileSdk, targetSdk és minSdk a Gradle-ben

Három paraméter a build.gradle-ben határozza meg az alkalmazás SDK Platformmal való munkáját. compileSdk — a fordításhoz használt API Level. Ez a paraméter határozza meg, hogy mely Android API osztályok érhetők el a kódban. A compileSdk-nak a legújabbnak kell lennie mindhárom közül, és nem befolyásolja a futásidejű viselkedést — az alkalmazás lefordul, de csak az eszközön lévő API-kat használja.

minSdk — a minimális API Level, amelyen az alkalmazás telepíthető. A Google Play nem engedi az alkalmazás telepítését a minSdk-nél alacsonyabb verziójú eszközre. Ez a paraméter határozza meg a kompatibilitási küszöböt és befolyásolja a közönség lefedettségét. Minél alacsonyabb a minSdk, annál több eszköz támogatott, de annál kevesebb új API használható ellenőrzés nélkül.

targetSdk — API Level, amelyen az alkalmazást tesztelték. Az Android rendszer a targetSdk-t használja a viselkedésbeli változások alkalmazásához: ha az alkalmazást nem frissítették az új API Levelre, a rendszer kompatibilitási módot kapcsol be a régebbi verziókhoz. A Google Play megköveteli, hogy a targetSdk ne legyen alacsonyabb egy bizonyos szintnél — 2026-ra ez API 34 (Android 14).

Példa Gradle konfigurációra

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
    }
}

// Az Android SDK verzióját az SDK Manageren keresztül kell telepíteni
// sdkmanager "platforms;android-35"

Hogyan válasszuk ki a compileSdk, minSdk és targetSdk értékeket

A választási stratégia a projekt céljaitól függ. Új alkalmazáshoz: compileSdk — legújabb stabil (35 2026 elején), minSdk — API 26 (Android 8.0, az eszközök 95%-át lefedi), targetSdk — legújabb stabil. Meglévő alkalmazás frissítéséhez: emelje meg a compileSdk-t azonnal, a targetSdk-t — az összes viselkedésbeli változás tesztelése után, a minSdk-t — csak akkor, ha le kell mondania az elavult eszközökről.

A Google megköveteli, hogy a targetSdk-t egy éven belül frissítsék az új Android-verzió megjelenése után. Azok az alkalmazások, amelyek nem felelnek meg ennek a követelménynek, nem tehetnek közzé frissítéseket a Google Play-ben. A határidők nyomon követéséhez használja a hivatalos Android OS frissítési naptárat.

ParaméterCélJavaslat
compileSdkAPI verzió a fordításhozLegújabb stabil
minSdkMinimális támogatott verzióAPI 26 a 95%-os lefedettséghez
targetSdkVerzió a viselkedésbeli változásokhozLegújabb stabil + tesztelés

Példák az SDK Platform használatára kódban

Amikor különböző Android-verziókra fejleszt, figyelembe kell venni az API-k elérhetőségét. Ha az alkalmazás compileSdk 35-öt használ, de API 31-es eszközön fut, az API 34-ben hozzáadott metódusok hívása NoSuchMethodError-t vagy AbstractMethodError-t eredményez. Az új API-k biztonságos hívásához verzióellenőrzéseket használnak a Build.VERSION.SDK_INT-on keresztül.

API Level ellenőrzése futásidőben

kotlin
class FeatureChecker {
    fun registerNotificationChannel(context: Context) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            // A Notification channels API 26-tól érhető el
            val channel = NotificationChannel(
                "updates",
                "Frissítések",
                NotificationManager.IMPORTANCE_DEFAULT
            )
            val manager = context.getSystemService(NotificationManager::class.java)
            manager.createNotificationChannel(channel)
        }
    }
}

Új API-k használata @RequiresApi-val

Azokhoz a metódusokhoz, amelyeket csak bizonyos verziókon hívnak meg, használja a @RequiresApi annotációt. Ez jelzi a lint-ellenőrzéseknek, hogy a metódus biztonságos, és kikapcsolja a figyelmeztetéseket. Az SDK_INT ellenőrzéssel kombinálva az annotáció tisztábbá és az ellenőrök számára érthetőbbé teszi a kódot.

kotlin
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
fun scheduleExactAlarm(manager: AlarmManager, time: Long) {
    // API 34: scheduleExact a SCHEDULE_EXACT_ALARM flaggel
    if (manager.canScheduleExactAlarms()) {
        manager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent)
    } else {
        // A SCHEDULE_EXACT_ALARM engedély kérése
        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 {
        // Régi setExact metódus engedélyellenőrzés nélkül
        getAlarmManager(context).setExact(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent)
    }
}

Telepített SDK Platform meghatározása

Néha meg kell tudni, hogy az SDK Platform melyik verziója van telepítve a fejlesztő eszközén vagy a CI-ban. Ezt megteheti ADB-n keresztül vagy programozottan az alkalmazás kódjában. Az eszköz API Leveljének ismerete segít a verzióspecifikus viselkedés tesztelésében.

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")
    }
    // Kimenet: SDK_INT: 35, RELEASE: 15, CODENAME: REL
}

Gyakran Ismételt Kérdések

Miben különbözik az SDK Platform az Android Studio-tól?

Az Android Studio egy IDE, míg az SDK Platform könyvtárak és eszközök gyűjteménye a fordításhoz. A Studio az SDK Platformot használja az alkalmazások építéséhez, de a platformok külön töltődnek le az SDK Manageren keresztül, és a Studio verziójától függetlenül frissíthetők.

Hány SDK Platformot kell telepíteni?

Általában három verzió elegendő: a legújabb (compileSdk), a minimális (minSdk) és egy köztes a teszteléshez. Az SDK Manager lehetővé teszi a platformok egyszerű hozzáadását és eltávolítását szükség szerint. A fejlesztők átlagosan 3–5 platformot tárolnak a munkaállomásukon.

Használható-e régi SDK Platform új API-khoz?

Nem. Minden SDK Platform csak a saját verziójának API-it tartalmazza. Az API 35 metódusainak hívásához az android-35 platform szükséges. Új compileSdk megadása telepített régi platformmal fordítási hibát eredményez.

Mik az SDK Platform frissítései?

A Google minden verzióhoz kiad SDK Platform frissítéseket: hibajavítások, új API-k, teljesítménybeli fejlesztések. Az SDK Manager értesít az elérhető frissítésekről. Javasolt a platform legújabb revíziójának telepítése a stabil build érdekében.

Hol tárolódnak az SDK Platformok a lemezen?

Alapértelmezés szerint minden SDK Platform 200–800 MB helyet foglal a Android/Sdk/platforms/android-{API} könyvtárban. A mappában található az android.jar, a data mappa erőforrásokkal, valamint konfigurációs fájlok az emulátorhoz és a buildhez.

Összefoglalás

  • SDK Platform — könyvtárak és eszközök gyűjteménye egy adott Android-verzióhoz, egy meghatározott API Levelnek megfelelően.
  • API Level — numerikus azonosító, amely meghatározza az elérhető osztályokat, metódusokat és rendszerviselkedést.
  • SDK Manager — eszköz az SDK Platform, System Images és Build-Tools telepítéséhez és frissítéséhez GUI-n vagy parancssoron keresztül.
  • A compileSdk, minSdk és targetSdk paraméterek a build.gradle-ben kezelik a platformverziót a fordításhoz és a kompatibilitáshoz.
  • Új API-k hívásához régi eszközökön használjon Build.VERSION.SDK_INT ellenőrzéseket és @RequiresApi annotációt.
  • A Google megköveteli a targetSdk frissítését egy éven belül az új Android-verzió megjelenése után a Google Play-ben történő közzétételhez.
  • Az SDK Platform rendszeres frissítése az SDK Manageren keresztül biztosítja a hozzáférést az új API-khoz, javításokhoz és teljesítménybeli fejlesztésekhez.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is