SDK Platform: wat is het, versies en Android SDK Manager

Auteur: IT Sectr Gepubliceerd: 2026-02-09 Leestijd: 11 min

SDK Platform Android — is een verzameling bibliotheken, systeemimages en tools voor een specifieke versie van het besturingssysteem. Elke platform is gekoppeld aan zijn eigen API Level en bevat android.jar met Android API-klassen, runtime-componenten en een emulator. Volgens Google Developer Documentation, 2026 gebruiken ontwikkelaars SDK Platform om code te compileren tegen de doelversie van het besturingssysteem. Zonder geïnstalleerd platform is het onmogelijk om een APK te bouwen of de app op de emulator te starten. SDK Manager beheert het downloaden, updaten en verwijderen van deze componenten.

Belangrijkste punten

  • SDK Platform — verzameling bibliotheken en tools voor één Android-versie, overeenkomend met een specifiek API Level.
  • API Level — numerieke identificatie van de Android SDK-versie die beschikbare klassen en methoden bepaalt.
  • SDK Manager — tool voor installatie, update en verwijdering van SDK Platform, Tools en systeemimages.
  • compileSdk — SDK Platform-versie gebruikt voor compilatie van de app, moet de nieuwste stabiele zijn.
  • targetSdk — API Level waarop de app is getest en waarvoor runtime-gedrag is geoptimaliseerd.

Wat is SDK Platform

SDK Platform — is een fundamenteel component van Android SDK, een complete set bibliotheken en tools voor het ontwikkelen van apps onder een specifieke Android-versie. Elk platform wordt geïdentificeerd door API Level — een geheel getal dat toeneemt met nieuwe OS-releases. Bijvoorbeeld Android 13 komt overeen met API Level 33, Android 14 — API Level 34, Android 15 — API Level 35.

In tegenstelling tot Android Studio (IDE) bevat SDK Platform geen code-editor of debugger. Het is een systeemlaag die wordt aangesloten op de compiler en builder. Wanneer een ontwikkelaar import android.app.Activity schrijft, haalt de compiler deze klasse uit android.jar van de specifieke SDK Platform. Zonder geïnstalleerd platform met het vereiste API Level wordt de code niet gecompileerd.

Google brengt een nieuwe SDK Platform uit voor elke stabiele Android-versie. De geschiedenis omvat meer dan 35 API Levels — van Android 1.0 (API 1) tot Android 15 (API 35). Elk platform is achterwaarts compatibel: code geschreven voor API Level 21 werkt op API Level 35, maar niet andersom.

Waarom een aparte SDK Platform voor elke versie nodig is

Android evolueert snel: elke versie voegt nieuwe API's toe, wijzigt het gedrag van bestaande en introduceert beperkingen. Bijvoorbeeld Android 10 (API 29) introduceerde Scoped Storage, Android 12 (API 31) — SplashScreen API, Android 14 (API 34) — verplichte BroadcastReceiver-vlaggen. De ontwikkelaar moet de app bouwen tegen het huidige platform om deze mogelijkheden te gebruiken.

Tegelijkertijd kan de app werken op oude OS-versies. Daarvoor wordt in Gradle minSdk opgegeven — het minimale API Level waarop de app werkt. De code gebruikt versiecontroles en voorwaardelijke API-aanroepen. Deze aanpak zorgt voor compatibiliteit zonder verlies van nieuwe functies.

Android-versieAPI LevelCodenaamReleasejaar
Android 1231Snow Cone2021
Android 1333Tiramisu2022
Android 1434Upside Down Cake2023
Android 1535Vanilla Ice Cream2024

Samenstelling van SDK Platform: belangrijkste componenten

SDK Platform — is niet één bestand, maar een set componenten die samen compilatie, build en testing van de app mogelijk maken. Het belangrijkste element is android.jar — een archief met Android API-klassen in deze versie. Dit bestand wordt aangesloten op de Kotlin of Java compiler en bepaalt welke klassen, methoden en annotaties beschikbaar zijn voor de ontwikkelaar.

Systeemimages en emulator

Elke SDK Platform bevat een System Image — de OS-image voor de Android Virtual Device emulator. Zonder de juiste image kan de emulator geen virtueel apparaat met het vereiste API Level starten. System Images zijn er in verschillende types: Google APIs (met Google-services), Google Play (met Play Store) en AOSP (schone Android zonder Google-services).

Build- en debugtools

SDK Platform bevat een versie van Build-Tools en Platform-Tools geoptimaliseerd voor dit API Level. Build-Tools omvatten aapt2 (Android Asset Packaging Tool), dx/d8 (Dalvik/ART-compiler) en ApkSigner. Platform-Tools bieden ADB (Android Debug Bridge), fastboot en SQLite. Deze tools worden onafhankelijk van SDK Platform bijgewerkt via SDK Manager.

Platformbronnen

Elk platform bevat standaard Android-bronnen — systeemthema's, stijlen, animaties, kleuren en afmetingen. Deze bronnen worden gebruikt tijdens compilatie: als een ontwikkelaar naar @android:style/Theme.Material.Light verwijst, haalt de builder de definitie uit de SDK Platform-bronnen. Dit garandeert een uniform uiterlijk van systeemcomponenten op alle apparaten.

ComponentBeschrijvingGrootte (ongeveer)
android.jarAndroid API-bibliotheken voor compilatie50–120 MB
System ImageOS-image voor emulator600–1500 MB
Build-ToolsAPK- en AAB-buildtools200–400 MB
Platform ResourcesSysteembronnen (thema's, stijlen)30–80 MB
SkinsApparaatprofielen voor emulator10–50 MB

API Level en versies van SDK Platform

API Level — is een geheel-getal identificatie van de Android SDK-versie. Elke Android-release heeft één API Level dat monotoon toeneemt. De ontwikkelaar specificeert API Level in drie belangrijke parameters van build.gradle: compileSdk, minSdk en targetSdk. De keuze van deze parameters bepaalt welke API's beschikbaar zijn en hoe het systeem de app verwerkt.

Google raadt aan om minSdk niet lager te houden dan de huidige distributiedrempel — volgens Android Studio Distribution Dashboard (2026) werkt ongeveer 95% van de apparaten op Android 8.0 (API 26) en hoger. compileSdk moet de laatste stabiele zijn — dit geeft toegang tot nieuwe API's en stelt lint-controles in staat verouderde methoden te detecteren.

Evolutie van API Level: belangrijke veranderingen

Met elk nieuw API Level introduceert Google significante veranderingen. Android 6.0 (API 23) voegde runtime-machtigingen toe — de app vraagt machtigingen tijdens runtime, niet bij installatie. Android 8.0 (API 26) introduceerde automatisch aanvullen van formulieren en meldingskanalen. Android 12 (API 31) veranderde de benadering van intents radicaal — SplashScreen API en export van componenten via het exported-attribuut verschenen. Android 14 (API 34) maakte het specificeren van vlaggen voor BroadcastReceiver verplicht en introduceerde strikte beperkingen voor foreground services.

Inzicht in de geschiedenis van API Level helpt de ontwikkelaar de juiste compatibiliteitsstrategie te kiezen. Als de app compileSdk 35 gebruikt maar minSdk 26, kan de code methoden van API 35 alleen aanroepen na versiecontrole via Build.VERSION.SDK_INT. Deze aanpak heet version-gated development en is de industriestandaard.

AndroidAPIJaarBelangrijke innovatie
6.0 Marshmallow232015Runtime-machtigingen
8.0 Oreo262017Meldingskanalen, Autofill
10292019Scoped Storage, Dark Theme
12312021SplashScreen, exported-attribuut
14342023Broadcast-vlaggen, Foreground Services

SDK Manager: installatie en configuratie

SDK Manager — is een tool voor het beheren van Android SDK-componenten: installeren van nieuwe SDK Platforms, updaten van bestaande en verwijderen van verouderde. SDK Manager is beschikbaar als grafische interface in Android Studio en via de commandoregel via sdkmanager. Via de commandoregel is SDK Manager handig in CI/CD-pipelines waar geen grafische interface is.

SDK Manager installeert platforms in de Android SDK-directory, die standaard in $HOME/Android/Sdk op Linux en macOS of %LOCALAPPDATA%\Android\Sdk op Windows staat. In de platforms-directory bevinden zich mappen met de naam android-{API Level}, die elk een volledige SDK Platform bevatten.

SDK Platform installeren via sdkmanager

Het commando sdkmanager accepteert een pakket-ID in het formaat "platforms;android-{API}". Voor installatie van SDK Platform 35 ziet het commando er als volgt uit:

bash
# Installeer SDK Platform voor API Level 35
sdkmanager "platforms;android-35"

# Installeer meerdere platforms met één commando
sdkmanager "platforms;android-34" "platforms;android-33" "platforms;android-31"

# Lijst van geïnstalleerde platforms
sdkmanager --list_installed | grep platforms

# Verwijder verouderd platform
sdkmanager --uninstall "platforms;android-28"

Automatische installatie via Gradle

Moderne Android-projecten gebruiken Gradle Plugin die automatisch SDK Platform kan installeren bij de eerste build. Hiervoor moet u compileSdk specificeren in build.gradle en de SDK-directory toevoegen aan de lokale configuratie. Android Studio biedt ook aan om het ontbrekende platform te installeren bij het openen van een project — klik gewoon op "Install SDK Platform" in het Gradle-synchronisatievenster.

Het is belangrijk om SDK Platform regelmatig bij te werken via SDK Manager — samen met het platform worden Build-Tools en Platform-Tools bijgewerkt, wat de bouwprestaties en debugsstabiliteit beïnvloedt. Google raadt aan om SDK-updates elke 2–3 weken te controleren, vooral voor het publiceren van een nieuwe app-versie in Google Play.

Systeemimage configureren voor de emulator

Om de emulator met een specifiek API Level te starten, moet u System Image van dezelfde versie installeren. SDK Manager maakt het mogelijk images van verschillende architecturen (x86_64, arm64-v8a) en types (Google APIs, Google Play, AOSP) te downloaden. Na het downloaden van de image maakt AVD Manager een virtueel apparaat op basis daarvan.

bash
# Installeer System Image met Google APIs voor API 35
sdkmanager "system-images;android-35;google_apis;x86_64"

# Maak AVD via commandoregel
avdmanager create avd -n pixel8 -k "system-images;android-35;google_apis;x86_64"

# Lijst van gemaakte AVD's
avdmanager list avd

compileSdk, targetSdk en minSdk in Gradle

Drie parameters in build.gradle bepalen hoe de app met SDK Platform werkt. compileSdk — API Level gebruikt voor compilatie. Deze parameter specificeert welke Android API-klassen beschikbaar zijn in de code. compileSdk moet de nieuwste van alle drie zijn en beïnvloedt het runtime-gedrag niet — de app wordt gecompileerd maar gebruikt alleen de API's die op het apparaat aanwezig zijn.

minSdk — het minimale API Level waarop de app kan worden geïnstalleerd. Google Play staat installatie van de app niet toe op een apparaat met een versie lager dan minSdk. Deze parameter bepaalt de compatibiliteitsdrempel en beïnvloedt het bereik van het publiek. Hoe lager minSdk, hoe meer apparaten worden ondersteund, maar hoe minder nieuwe API's zonder controles kunnen worden gebruikt.

targetSdk — API Level waarop de app is getest. Het Android-systeem gebruikt targetSdk om gedragsveranderingen toe te passen: als de app niet is bijgewerkt naar het nieuwe API Level, schakelt het systeem de compatibiliteitsmodus voor oude versies in. Google Play vereist targetSdk niet lager dan een bepaald niveau — voor 2026 is dit API 34 (Android 14).

Voorbeeld van Gradle-configuratie

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

// Android SDK-versie moet worden geïnstalleerd via SDK Manager
// sdkmanager "platforms;android-35"

Hoe compileSdk, minSdk en targetSdk te kiezen

De keuzestrategie hangt af van de projectdoelen. Voor een nieuwe app: compileSdk — laatste stabiele (35 begin 2026), minSdk — API 26 (Android 8.0, dekt 95% van apparaten), targetSdk — laatste stabiele. Voor het updaten van een bestaande app: verhoog compileSdk meteen, targetSdk — na het testen van alle gedragsveranderingen, minSdk — alleen als het nodig is om verouderde apparaten te laten vallen.

Google vereist dat targetSdk binnen een jaar na release van een nieuwe Android-versie wordt bijgewerkt. Apps die niet aan deze vereiste voldoen, kunnen geen updates publiceren in Google Play. Gebruik de officiële Android OS-updatekalender om deadlines bij te houden.

ParameterDoelAanbeveling
compileSdkAPI-versie voor compilatieLaatste stabiele
minSdkMinimaal ondersteunde versieAPI 26 voor 95% dekking
targetSdkVersie voor gedragsveranderingenLaatste stabiele + testen

Voorbeelden van werken met SDK Platform in code

Bij het ontwikkelen voor verschillende Android-versies moet rekening worden gehouden met de beschikbaarheid van API's. Als de app compileSdk 35 gebruikt maar draait op een apparaat met API 31, leidt het aanroepen van methoden die in API 34 zijn toegevoegd tot NoSuchMethodError of AbstractMethodError. Voor veilig aanroepen van nieuwe API's worden versiecontroles via Build.VERSION.SDK_INT gebruikt.

API Level controleren in runtime

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

Nieuwe API's gebruiken met @RequiresApi

Gebruik voor methoden die alleen op bepaalde versies worden aangeroepen de @RequiresApi-annotatie. Dit vertelt lint-controles dat de methode veilig is en schakelt waarschuwingen uit. In combinatie met SDK_INT-controle maakt de annotatie de code schoner en begrijpelijker voor reviewers.

kotlin
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
fun scheduleExactAlarm(manager: AlarmManager, time: Long) {
    // API 34: scheduleExact met vlag SCHEDULE_EXACT_ALARM
    if (manager.canScheduleExactAlarms()) {
        manager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent)
    } else {
        // Vraag machtiging SCHEDULE_EXACT_ALARM aan
        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 {
        // Oude methode setExact zonder machtigingscontrole
        getAlarmManager(context).setExact(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent)
    }
}

Geïnstalleerde SDK Platform bepalen

Soms moet u weten welke versie van SDK Platform is geïnstalleerd op het apparaat van de ontwikkelaar of in CI. Dit kan via ADB of programmatisch in de app-code. Kennis van het API Level van het apparaat helpt bij het testen van versiespecifiek gedrag.

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

Veelgestelde vragen

Wat is het verschil tussen SDK Platform en Android Studio?

Android Studio is een IDE, terwijl SDK Platform een set bibliotheken en tools is voor compilatie. Studio gebruikt SDK Platform om apps te bouwen, maar platforms worden apart gedownload via SDK Manager en kunnen onafhankelijk van de Studio-versie worden bijgewerkt.

Hoeveel SDK Platforms moeten worden geïnstalleerd?

Meestal zijn drie versies voldoende: de nieuwste (compileSdk), de minimale (minSdk) en één tussentijdse voor testen. SDK Manager maakt het gemakkelijk om platforms naar behoefte toe te voegen en te verwijderen. Ontwikkelaars bewaren gemiddeld 3–5 platforms op hun werkmachine.

Kan een oude SDK Platform worden gebruikt voor nieuwe API's?

Nee. Elke SDK Platform bevat alleen de API's van zijn eigen versie. Voor het aanroepen van methoden uit API 35 is het platform android-35 nodig. Het opgeven van een nieuwe compileSdk met een oud geïnstalleerd platform veroorzaakt een compilatiefout.

Wat zijn SDK Platform-updates?

Google brengt updates uit voor SDK Platform per versie: bugfixes, nieuwe API's, prestatieverbeteringen. SDK Manager meldt beschikbare updates. Het wordt aanbevolen de nieuwste revisie van het platform te installeren voor een stabiele build.

Waar worden SDK Platforms op schijf opgeslagen?

Standaard neemt elke SDK Platform 200–800 MB in beslag in de directory Android/Sdk/platforms/android-{API}. In de map bevinden zich android.jar, de data-map met bronnen en configuratiebestanden voor emulator en build.

Samenvatting

  • SDK Platform — verzameling bibliotheken en tools voor een specifieke Android-versie, overeenkomend met een bepaald API Level.
  • API Level — numerieke identificatie die beschikbare klassen, methoden en systeemgedrag bepaalt.
  • SDK Manager — tool voor installatie en update van SDK Platform, System Images en Build-Tools via GUI of commandoregel.
  • De parameters compileSdk, minSdk en targetSdk in build.gradle beheren de platformversie voor compilatie en compatibiliteit.
  • Voor het aanroepen van nieuwe API's op oude apparaten gebruikt u Build.VERSION.SDK_INT-controles en de @RequiresApi-annotatie.
  • Google vereist update van targetSdk binnen een jaar na release van een nieuwe Android-versie voor publicatie in Google Play.
  • Regelmatige update van SDK Platform via SDK Manager garandeert toegang tot nieuwe API's, fixes en prestatieverbeteringen.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook