SDK Platform: ce este, versiuni și Android SDK Manager

Autor: IT Sectr Publicat: 2026-02-09 Timp de citire: 11 min

SDK Platform Android — este un set de biblioteci, imagini de sistem și instrumente pentru o anumită versiune a sistemului de operare. Fiecare platformă este asociată cu propriul API Level și include android.jar cu clasele Android API, componente runtime și emulator. Conform Google Developer Documentation, 2026, dezvoltatorii folosesc SDK Platform pentru compilarea codului împotriva versiunii țintă a sistemului de operare. Fără platforma instalată, nu se poate construi APK sau rula aplicația pe emulator. SDK Manager gestionează descărcarea, actualizarea și ștergerea acestor componente.

Puncte principale

  • SDK Platform — set de biblioteci și instrumente pentru o versiune de Android, corespunzând unui API Level specific.
  • API Level — identificator numeric al versiunii Android SDK, care determină clasele și metodele disponibile.
  • SDK Manager — instrument pentru instalarea, actualizarea și ștergerea SDK Platform, Tools și imaginilor de sistem.
  • compileSdk — versiunea SDK Platform utilizată pentru compilarea aplicației, trebuie să fie cea mai nouă stabilă.
  • targetSdk — API Level la care aplicația a fost testată și pentru care comportamentul runtime este optimizat.

Ce este SDK Platform

SDK Platform — este componenta fundamentală a Android SDK, reprezentând un set complet de biblioteci și instrumente pentru dezvoltarea aplicațiilor sub o anumită versiune de Android. Fiecare platformă este identificată prin API Level — un număr întreg care crește odată cu lansarea noilor versiuni ale sistemului de operare. De exemplu, Android 13 corespunde API Level 33, Android 14 — API Level 34, Android 15 — API Level 35.

Spre deosebire de Android Studio (IDE), SDK Platform nu conține editor de cod sau debugger. Este un strat de sistem care se conectează la compilator și la instrumentul de build. Când dezvoltatorul scrie import android.app.Activity, compilatorul preia această clasă din android.jar al SDK Platform specific. Fără platforma instalată cu API Level necesar, codul nu se va compila.

Google lansează o nouă SDK Platform pentru fiecare versiune stabilă de Android. Istoria include peste 35 de API Level — de la Android 1.0 (API 1) la Android 15 (API 35). Fiecare platformă este compatibilă retroactiv: codul scris pentru API Level 21 va funcționa pe API Level 35, dar nu invers.

De ce este nevoie de o SDK Platform separată pentru fiecare versiune

Android evoluează rapid: fiecare versiune adaugă API-uri noi, modifică comportamentul celor existente și introduce restricții. De exemplu, Android 10 (API 29) a introdus Scoped Storage, Android 12 (API 31) — SplashScreen API, Android 14 (API 34) — flaguri obligatorii pentru BroadcastReceiver. Dezvoltatorul trebuie să construiască aplicația împotriva platformei actuale pentru a utiliza aceste capacități.

În același timp, aplicația poate rula pe versiuni vechi ale sistemului de operare. Pentru aceasta, în Gradle se specifică minSdk — API Level minim la care aplicația pornește. Codul utilizează verificări de versiune și apeluri condiționate de API. Această abordare asigură compatibilitatea fără pierderea funcțiilor noi.

Versiune AndroidAPI LevelNume codAn lansare
Android 1231Snow Cone2021
Android 1333Tiramisu2022
Android 1434Upside Down Cake2023
Android 1535Vanilla Ice Cream2024

Compoziția SDK Platform: componente principale

SDK Platform — nu este un singur fișier, ci un set de componente care împreună asigură compilarea, construirea și testarea aplicației. Elementul principal este android.jar — o arhivă cu clasele Android API incluse în această versiune. Acest fișier este conectat la compilatorul Kotlin sau Java și determină ce clase, metode și adnotări sunt disponibile dezvoltatorului.

Imagini de sistem și emulator

Fiecare SDK Platform include System Image — imaginea sistemului de operare pentru emulatorul Android Virtual Device. Fără imaginea corespunzătoare, emulatorul nu va putea porni un dispozitiv virtual cu API Level necesar. System Images sunt de diferite tipuri: Google APIs (cu servicii Google), Google Play (cu Play Store) și AOSP (Android pur fără servicii Google).

Instrumente de build și debug

SDK Platform include o versiune de Build-Tools și Platform-Tools optimizate pentru acest API Level. Build-Tools conțin aapt2 (Android Asset Packaging Tool), dx/d8 (compilator Dalvik/ART) și ApkSigner. Platform-Tools oferă ADB (Android Debug Bridge), fastboot și SQLite. Aceste instrumente se actualizează independent de SDK Platform prin SDK Manager.

Resursele platformei

Fiecare platformă include resurse standard Android — teme de sistem, stiluri, animații, culori și dimensiuni. Aceste resurse sunt utilizate la compilare: dacă dezvoltatorul se referă la @android:style/Theme.Material.Light, instrumentul de build ia definiția din resursele SDK Platform. Acest lucru garantează un aspect uniform al componentelor de sistem pe toate dispozitivele.

ComponentDescriereDimensiune (aproximativ)
android.jarBiblioteci Android API pentru compilare50–120 MB
System ImageImagine de sistem pentru emulator600–1500 MB
Build-ToolsInstrumente de build APK și AAB200–400 MB
Platform ResourcesResurse de sistem (teme, stiluri)30–80 MB
SkinsProfiluri de dispozitive pentru emulator10–50 MB

API Level și versiunile SDK Platform

API Level — este un identificator întreg al versiunii Android SDK. Fiecărei versiuni de Android îi corespunde un API Level care crește monoton. Dezvoltatorul specifică API Level în trei parametri cheie din build.gradle: compileSdk, minSdk și targetSdk. Alegerea acestor parametri determină ce API-uri sunt disponibile și cum sistemul gestionează aplicația.

Google recomandă menținerea minSdk la un nivel nu mai mic decât pragul actual de distribuție — conform Android Studio Distribution Dashboard (2026), aproximativ 95% dintre dispozitive rulează Android 8.0 (API 26) și mai sus. compileSdk ar trebui să fie ultima versiune stabilă — oferă acces la noile API-uri și permite verificărilor lint să detecteze metode învechite.

Evoluția API Level: schimbări cheie

Cu fiecare API Level nou, Google introduce schimbări semnificative. Android 6.0 (API 23) a adăugat permisiunile runtime — aplicația solicită permisiuni în timpul execuției, nu la instalare. Android 8.0 (API 26) a introdus completarea automată a formularelor și canalele de notificare. Android 12 (API 31) a schimbat radical abordarea intent-urilor — a apărut SplashScreen API și exportul componentelor prin atributul exported. Android 14 (API 34) a făcut obligatorie specificarea flagurilor pentru BroadcastReceiver și a introdus restricții stricte pentru foreground services.

Înțelegerea istoriei API Level ajută dezvoltatorul să aleagă strategia corectă de compatibilitate. Dacă aplicația folosește compileSdk 35, dar minSdk 26, codul poate apela metode din API 35 numai după verificarea versiunii prin Build.VERSION.SDK_INT. Această abordare se numește version-gated development și este standardul industriei.

AndroidAPIAnInovație cheie
6.0 Marshmallow232015Permisiuni runtime
8.0 Oreo262017Canale de notificare, Autofill
10292019Scoped Storage, Dark Theme
12312021SplashScreen, atribut exported
14342023Flaguri Broadcast, Foreground Services

SDK Manager: instalare și configurare

SDK Manager — este un instrument pentru gestionarea componentelor Android SDK: instalarea de noi SDK Platform-uri, actualizarea celor existente și ștergerea celor învechite. SDK Manager este disponibil atât ca interfață grafică în Android Studio, cât și prin linia de comandă prin sdkmanager. Prin linia de comandă, SDK Manager este convenabil de utilizat în pipeline-uri CI/CD unde nu există interfață grafică.

SDK Manager instalează platformele în directorul Android SDK, care în mod implicit se află în $HOME/Android/Sdk pe Linux și macOS sau %LOCALAPPDATA%\Android\Sdk pe Windows. În interiorul directorului platforms se află foldere de forma android-{API Level}, fiecare conținând SDK Platform complet.

Instalarea SDK Platform prin sdkmanager

Comanda sdkmanager acceptă identificatorul pachetului în formatul "platforms;android-{API}". De exemplu, pentru instalarea SDK Platform 35, comanda arată astfel:

bash
# Instalează SDK Platform pentru API Level 35
sdkmanager "platforms;android-35"

# Instalează mai multe platforme cu o singură comandă
sdkmanager "platforms;android-34" "platforms;android-33" "platforms;android-31"

# Lista platformelor instalate
sdkmanager --list_installed | grep platforms

# Șterge platforma învechită
sdkmanager --uninstall "platforms;android-28"

Instalarea automată prin Gradle

Proiectele moderne Android utilizează Gradle Plugin care poate instala automat SDK Platform la prima construire. Pentru aceasta, trebuie să specificați compileSdk în build.gradle și să adăugați directorul SDK în configurația locală. Android Studio oferă, de asemenea, instalarea platformei lipsă la deschiderea proiectului — este suficient să apăsați butonul "Install SDK Platform" în fereastra de sincronizare Gradle.

Este important să actualizați regulat SDK Platform prin SDK Manager — odată cu platforma se actualizează Build-Tools și Platform-Tools, ceea ce afectează performanța build-ului și stabilitatea debug-ului. Google recomandă verificarea actualizărilor SDK la fiecare 2–3 săptămâni, în special înainte de publicarea unei noi versiuni a aplicației în Google Play.

Configurarea imaginii de sistem pentru emulator

Pentru a porni emulatorul cu un API Level specific, trebuie instalat System Image al aceleiași versiuni. SDK Manager permite descărcarea de imagini pentru diferite arhitecturi (x86_64, arm64-v8a) și tipuri (Google APIs, Google Play, AOSP). După descărcarea imaginii, AVD Manager creează un dispozitiv virtual pe baza acesteia.

bash
# Instalează System Image cu Google APIs pentru API 35
sdkmanager "system-images;android-35;google_apis;x86_64"

# Creează AVD prin linia de comandă
avdmanager create avd -n pixel8 -k "system-images;android-35;google_apis;x86_64"

# Lista AVD-urilor create
avdmanager list avd

compileSdk, targetSdk și minSdk în Gradle

Trei parametri în build.gradle determină modul de lucru al aplicației cu SDK Platform. compileSdk — API Level utilizat pentru compilare. Acest parametru specifică ce clase Android API sunt disponibile în cod. compileSdk trebuie să fie cel mai nou dintre toți trei și nu afectează comportamentul runtime — aplicația se compilează, dar folosește doar API-urile care sunt pe dispozitiv.

minSdk — API Level minim la care aplicația poate fi instalată. Google Play nu va permite instalarea aplicației pe un dispozitiv cu o versiune mai mică decât minSdk. Acest parametru determină pragul de compatibilitate și afectează acoperirea audienței. Cu cât minSdk este mai mic, cu atât mai multe dispozitive sunt suportate, dar cu atât mai puține API-uri noi pot fi utilizate fără verificări.

targetSdk — API Level la care aplicația a fost testată. Sistemul Android folosește targetSdk pentru a aplica modificări comportamentale: dacă aplicația nu a fost actualizată la noul API Level, sistemul activează modul de compatibilitate pentru versiunile vechi. Google Play cere targetSdk nu mai mic decât un anumit nivel — pentru 2026 acesta este API 34 (Android 14).

Exemplu de configurare 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
    }
}

// Versiunea Android SDK trebuie instalată prin SDK Manager
// sdkmanager "platforms;android-35"

Cum să alegeți compileSdk, minSdk și targetSdk

Strategia de alegere depinde de obiectivele proiectului. Pentru o aplicație nouă: compileSdk — ultima versiune stabilă (35 la începutul lui 2026), minSdk — API 26 (Android 8.0, acoperă 95% din dispozitive), targetSdk — ultima versiune stabilă. Pentru actualizarea unei aplicații existente: măriți compileSdk imediat, targetSdk — după testarea tuturor modificărilor comportamentale, minSdk — doar dacă este necesar să renunțați la dispozitivele învechite.

Google solicită ca targetSdk să fie actualizat în termen de un an de la lansarea unei noi versiuni de Android. Aplicațiile care nu respectă această cerință nu pot publica actualizări în Google Play. Pentru urmărirea termenelor limită, utilizați calendarul oficial al actualizărilor Android OS.

ParametruScopRecomandare
compileSdkVersiunea API pentru compilareUltima versiune stabilă
minSdkVersiunea minimă suportatăAPI 26 pentru acoperire de 95%
targetSdkVersiunea pentru modificări comportamentaleUltima versiune stabilă + testare

Exemple de lucru cu SDK Platform în cod

La dezvoltarea pentru diferite versiuni de Android, trebuie să țineți cont de disponibilitatea API-urilor. Dacă aplicația folosește compileSdk 35, dar rulează pe un dispozitiv cu API 31, apelarea metodelor adăugate în API 34 va duce la NoSuchMethodError sau AbstractMethodError. Pentru apelarea sigură a noilor API-uri se utilizează verificări de versiune prin Build.VERSION.SDK_INT.

Verificarea API Level în runtime

kotlin
class FeatureChecker {
    fun registerNotificationChannel(context: Context) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            // Notification channels sunt disponibile de la API 26
            val channel = NotificationChannel(
                "updates",
                "Actualizări",
                NotificationManager.IMPORTANCE_DEFAULT
            )
            val manager = context.getSystemService(NotificationManager::class.java)
            manager.createNotificationChannel(channel)
        }
    }
}

Utilizarea noilor API-uri cu @RequiresApi

Pentru metodele care sunt apelate doar pe anumite versiuni, utilizați adnotarea @RequiresApi. Aceasta informează verificările lint că metoda este sigură și dezactivează avertismentele. În combinație cu verificarea SDK_INT, adnotarea face codul mai curat și mai ușor de înțeles pentru recenzori.

kotlin
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
fun scheduleExactAlarm(manager: AlarmManager, time: Long) {
    // API 34: scheduleExact cu flagul SCHEDULE_EXACT_ALARM
    if (manager.canScheduleExactAlarms()) {
        manager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent)
    } else {
        // Solicităm permisiunea 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 {
        // Metoda veche setExact fără verificarea permisiunii
        getAlarmManager(context).setExact(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent)
    }
}

Determinarea SDK Platform instalate

Uneori este necesar să aflați ce versiune de SDK Platform este instalată pe dispozitivul dezvoltatorului sau în CI. Acest lucru se poate face prin ADB sau programatic în codul aplicației. Cunoașterea API Level al dispozitivului ajută la testarea comportamentului specific versiunii.

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

Întrebări frecvente

Cu ce se deosebește SDK Platform de Android Studio?

Android Studio este un IDE, iar SDK Platform este un set de biblioteci și instrumente pentru compilare. Studio folosește SDK Platform pentru a construi aplicații, dar platformele se descarcă separat prin SDK Manager și pot fi actualizate independent de versiunea Studio.

Câte SDK Platform-uri trebuie instalate?

De obicei sunt suficiente trei versiuni: cea mai nouă (compileSdk), minimă (minSdk) și una intermediară pentru testare. SDK Manager permite adăugarea și ștergerea ușoară a platformelor după necesitate. Dezvoltatorii păstrează în medie 3–5 platforme pe mașina de lucru.

Se poate folosi o SDK Platform veche pentru API-uri noi?

Nu. Fiecare SDK Platform conține doar API-urile versiunii sale. Pentru a apela metode din API 35 este necesară platforma android-35. Specificarea unui compileSdk nou cu o platformă veche instalată va cauza o eroare de compilare.

Ce sunt actualizările SDK Platform?

Google lansează actualizări SDK Platform pentru fiecare versiune: remedieri de bug-uri, API-uri noi, îmbunătățiri de performanță. SDK Manager notifică despre actualizările disponibile. Se recomandă instalarea ultimei revizii a platformei pentru un build stabil.

Unde sunt stocate SDK Platform-urile pe disc?

În mod implicit, fiecare SDK Platform ocupă 200–800 MB în directorul Android/Sdk/platforms/android-{API}. În interiorul folderului se află android.jar, folderul data cu resurse și fișiere de configurare pentru emulator și build.

Rezumat

  • SDK Platform — set de biblioteci și instrumente pentru o versiune specifică de Android, corespunzând unui API Level definit.
  • API Level — identificator numeric care determină clasele, metodele și comportamentul sistemului disponibile.
  • SDK Manager — instrument pentru instalarea și actualizarea SDK Platform, System Images și Build-Tools prin interfață grafică sau linie de comandă.
  • Parametrii compileSdk, minSdk și targetSdk în build.gradle gestionează versiunea platformei pentru compilare și compatibilitate.
  • Pentru a apela API-uri noi pe dispozitive vechi, utilizați verificări Build.VERSION.SDK_INT și adnotarea @RequiresApi.
  • Google solicită actualizarea targetSdk în termen de un an de la lansarea unei noi versiuni de Android pentru publicare în Google Play.
  • Actualizarea regulată a SDK Platform prin SDK Manager asigură accesul la noile API-uri, remedieri și îmbunătățiri de performanță.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și