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 — 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.
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 Android | API Level | Nume cod | An lansare |
|---|---|---|---|
| Android 12 | 31 | Snow Cone | 2021 |
| Android 13 | 33 | Tiramisu | 2022 |
| Android 14 | 34 | Upside Down Cake | 2023 |
| Android 15 | 35 | Vanilla Ice Cream | 2024 |
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.
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).
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.
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.
| Component | Descriere | Dimensiune (aproximativ) |
|---|---|---|
| android.jar | Biblioteci Android API pentru compilare | 50–120 MB |
| System Image | Imagine de sistem pentru emulator | 600–1500 MB |
| Build-Tools | Instrumente de build APK și AAB | 200–400 MB |
| Platform Resources | Resurse de sistem (teme, stiluri) | 30–80 MB |
| Skins | Profiluri de dispozitive pentru emulator | 10–50 MB |
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.
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.
| Android | API | An | Inovație cheie |
|---|---|---|---|
| 6.0 Marshmallow | 23 | 2015 | Permisiuni runtime |
| 8.0 Oreo | 26 | 2017 | Canale de notificare, Autofill |
| 10 | 29 | 2019 | Scoped Storage, Dark Theme |
| 12 | 31 | 2021 | SplashScreen, atribut exported |
| 14 | 34 | 2023 | Flaguri Broadcast, Foreground Services |
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.
Comanda sdkmanager acceptă identificatorul pachetului în formatul "platforms;android-{API}". De exemplu, pentru instalarea SDK Platform 35, comanda arată astfel:
# 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"
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.
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.
# 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
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).
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"
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.
| Parametru | Scop | Recomandare |
|---|---|---|
| compileSdk | Versiunea API pentru compilare | Ultima versiune stabilă |
| minSdk | Versiunea minimă suportată | API 26 pentru acoperire de 95% |
| targetSdk | Versiunea pentru modificări comportamentale | Ultima versiune stabilă + testare |
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.
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)
}
}
}
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.
@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)
}
}
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.
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
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.
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.
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.
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.
Î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
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.
Citiți și